diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp
index 9be1d34..54ec58a 100644
--- a/lib/Sema/SemaStmt.cpp
+++ b/lib/Sema/SemaStmt.cpp
@@ -2035,7 +2035,7 @@
   // ... the expression is the name of a non-volatile automatic object
   // (other than a function or catch-clause parameter)) ...
   const DeclRefExpr *DR = dyn_cast<DeclRefExpr>(E->IgnoreParens());
-  if (!DR)
+  if (!DR || DR->refersToEnclosingLocal())
     return 0;
   const VarDecl *VD = dyn_cast<VarDecl>(DR->getDecl());
   if (!VD)
diff --git a/test/CodeGenObjCXX/blocks.mm b/test/CodeGenObjCXX/blocks.mm
index 72af74f..62ae428 100644
--- a/test/CodeGenObjCXX/blocks.mm
+++ b/test/CodeGenObjCXX/blocks.mm
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -x objective-c++ -fblocks -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 %s -verify -emit-llvm -o %t
+// RUN: %clang_cc1 -x objective-c++ -fblocks -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 %s -verify -std=c++11 -emit-llvm -o %t
 // rdar://8979379
 
 @interface A
@@ -30,7 +30,7 @@
 
 // Test4
 struct S {
-  S *(^a)() = ^{ // expected-warning {{C++11}}
+  S *(^a)() = ^{
     return this;
   };
 };
@@ -40,7 +40,22 @@
 struct X {
   void f() {
     ^ {
-      struct Nested { Nested *ptr = this; }; // expected-warning {{C++11}}
+      struct Nested { Nested *ptr = this; };
     } ();
   };
 };
+
+// Regression test for PR13314
+class FooClass { };
+void fun() {
+  FooClass foovar;
+  ^() {  // expected-warning {{expression result unused}}
+    return foovar;
+  };
+}
+void gun() {
+  FooClass foovar;
+  [=]() {  // expected-warning {{expression result unused}}
+    return foovar;
+  };
+}
