diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp
index 28940ac..300a382 100644
--- a/Sema/SemaDecl.cpp
+++ b/Sema/SemaDecl.cpp
@@ -800,12 +800,19 @@
     // Handle attributes prior to checking for duplicates in MergeVarDecl
     HandleDeclAttributes(NewVD, D.getDeclSpec().getAttributes(),
                          D.getAttributes());
-    // Emit a warning (error?) if an address space was applied to decl with
-    // local storage.
-    if (NewVD->hasLocalStorage() && 
-        (NewVD->getCanonicalType().getAddressSpace() != 0)) {
-      Diag(D.getIdentifierLoc(), diag::err_as_qualified_auto_decl);
-      InvalidDecl = true;
+
+    // Emit an error if an address space was applied to decl with local storage.
+    // This includes arrays of objects with address space qualifiers, but not
+    // automatic variables that point to other address spaces.
+    // ISO/IEC TR 18037 S5.1.2
+    if (NewVD->hasLocalStorage()) {
+      QualType AutoTy = NewVD->getCanonicalType();
+      if (const ArrayType *AT = AutoTy->getAsArrayType())
+        AutoTy = AT->getElementType().getCanonicalType();
+      if (AutoTy.getAddressSpace() != 0) {
+        Diag(D.getIdentifierLoc(), diag::err_as_qualified_auto_decl);
+        InvalidDecl = true;
+      }
     }
     // Merge the decl with the existing one if appropriate. If the decl is
     // in an outer scope, it isn't the same thing.
diff --git a/test/Sema/address_spaces.c b/test/Sema/address_spaces.c
index abf8cbd..002ba13 100644
--- a/test/Sema/address_spaces.c
+++ b/test/Sema/address_spaces.c
@@ -8,10 +8,11 @@
   _AS2 *x;
   _AS1 float * _AS2 *B;
 
-  int _AS1 _AS2 *Y;  // expected-error {{multiple address spaces specified for type}}
+  int _AS1 _AS2 *Y;   // expected-error {{multiple address spaces specified for type}}
   int *_AS1 _AS2 *Z;  // expected-error {{multiple address spaces specified for type}}
 
-  _AS1 int local; // expected-error {{automatic variable qualified with an address space}}
+  _AS1 int local;     // expected-error {{automatic variable qualified with an address space}}
+  _AS1 int array[50]; // expected-error {{automatic variable qualified with an address space}}
 
   *a = 5.0f;
 }
