diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 5c0e38c..6e62d09 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -325,7 +325,7 @@
 /// DeclCanBeLvalue - Determine whether the given declaration can be
 /// an lvalue. This is a helper routine for isLvalue.
 static bool DeclCanBeLvalue(const NamedDecl *Decl, ASTContext &Ctx) {
-  return isa<VarDecl>(Decl) || 
+  return isa<VarDecl>(Decl) || isa<CXXFieldDecl>(Decl) ||
     // C++ 3.10p2: An lvalue refers to an object or function.
     (Ctx.getLangOptions().CPlusPlus &&
      (isa<FunctionDecl>(Decl) || isa<OverloadedFunctionDecl>(Decl)));
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index 5619eca..070db2b 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -402,10 +402,7 @@
       if (FD->isInvalidDecl())
         return true;
 
-      // FIXME: Use DeclRefExpr or a new Expr for a direct CXXField reference.
-      ExprResult ThisExpr = ActOnCXXThis(SourceLocation());
-      return new MemberExpr(static_cast<Expr*>(ThisExpr.Val),
-                            true, FD, Loc, FD->getType());
+      return new DeclRefExpr(FD, FD->getType(), Loc);
     }
 
     return Diag(Loc, diag::err_invalid_non_static_member_use, FD->getName());
