scope = ctx;
     }
 
+  /* You cannot using-decl a destructor.  */
+  if (TREE_CODE (lookup.name) == BIT_NOT_EXPR)
+    {
+      error ("%<%T%s%D%> names destructor", scope,
+            &"::"[scope == global_namespace ? 2 : 0], lookup.name);
+      return NULL_TREE;
+    }
+
   if (TREE_CODE (scope) == NAMESPACE_DECL)
     {
       /* Naming a namespace member.  */
          return NULL_TREE;
        }
 
-      /* You cannot using-decl a destructor.  */
-      if (TREE_CODE (lookup.name) == BIT_NOT_EXPR)
-       {
-         error ("%<%T::%D%> names destructor", scope, lookup.name);
-         return NULL_TREE;
-       }
-
       /* Using T::T declares inheriting ctors, even if T is a typedef.  */
       if (lookup.name == TYPE_IDENTIFIER (npscope)
          || constructor_name_p (lookup.name, npscope))