diff --git a/clang/test/Sema/cxx-namespace.cpp b/clang/test/Sema/cxx-namespace.cpp
index 05b791c..df0fa25 100644
--- a/clang/test/Sema/cxx-namespace.cpp
+++ b/clang/test/Sema/cxx-namespace.cpp
@@ -8,8 +8,46 @@
 int A; // expected-error {{error: redefinition of 'A' as different kind of symbol}}
 class A; // expected-error {{error: redefinition of 'A' as different kind of symbol}}
 
-class B; // expected-error {{error: previous definition is here}}
+class B {}; // expected-error {{error: previous definition is here}}
 namespace B {} // expected-error {{error: redefinition of 'B' as different kind of symbol}}
 
 void C(); // expected-error {{error: previous definition is here}}
 namespace C {} // expected-error {{error: redefinition of 'C' as different kind of symbol}}
+
+namespace S1 {
+  int x;
+
+  namespace S2 {
+
+    namespace S3 {
+      B x;
+    }
+  }
+}
+
+namespace S1 {
+  void f() {
+    x = 0;
+  }
+
+  namespace S2 {
+    
+    namespace S3 {
+      void f() {
+        x = 0; // expected-error {{error: incompatible type assigning 'int', expected 'class B'}}
+      }
+    }
+
+    int y;
+  }
+}
+
+namespace S1 {
+  namespace S2 {
+    namespace S3 {
+      void f3() {
+        y = 0;
+      }
+    }
+  }
+}
