diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py
index 4e15d8c..6ffd64a 100644
--- a/Lib/test/test_compile.py
+++ b/Lib/test/test_compile.py
@@ -281,6 +281,8 @@
             self.assertRaises(SyntaxError, compile, stmt, 'tmp', 'exec')
         # This is ok.
         compile("from None import x", "tmp", "exec")
+        compile("from x import None as y", "tmp", "exec")
+        compile("import None as x", "tmp", "exec")
 
     def test_import(self):
         succeed = [
diff --git a/Python/ast.c b/Python/ast.c
index 9639350..d259259 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -2316,8 +2316,10 @@
                 if (!str)
                     return NULL;
             }
-            if (!forbidden_check(c, name_node, STR(name_node)))
-                return NULL;
+            else {
+                if (!forbidden_check(c, name_node, STR(name_node)))
+                    return NULL;
+            }
             name = NEW_IDENTIFIER(name_node);
             if (!name)
                 return NULL;
@@ -2330,11 +2332,11 @@
             }
             else {
                 node *asname_node = CHILD(n, 2);
-                alias_ty a = alias_for_import_name(c, CHILD(n, 0), store);
+                alias_ty a = alias_for_import_name(c, CHILD(n, 0), 0);
                 if (!a)
                     return NULL;
                 assert(!a->asname);
-                if (store && !forbidden_check(c, asname_node, STR(asname_node)))
+                if (!forbidden_check(c, asname_node, STR(asname_node)))
                     return NULL;
                 a->asname = NEW_IDENTIFIER(asname_node);
                 if (!a->asname)
