Index: django/core/management/commands/startapp.py
===================================================================
--- django/core/management/commands/startapp.py	(revision 7392)
+++ django/core/management/commands/startapp.py	(working copy)
@@ -23,6 +23,16 @@
         if app_name == project_name:
             raise CommandError("You cannot create an app with the same name"
                                " (%r) as your project." % app_name)
+        try:
+            __import__(app_name)
+        except ImportError:
+            pass
+        else:
+            raise CommandError("%r conflicts with the name of an existing"
+                               " Python module and cannot be used as"
+                               " an app name. Please try another name."
+                               % project_name)
+
         copy_helper(self.style, 'app', app_name, directory, project_name)
 
 class ProjectCommand(Command):
Index: django/core/management/commands/startproject.py
===================================================================
--- django/core/management/commands/startproject.py	(revision 7392)
+++ django/core/management/commands/startproject.py	(working copy)
@@ -3,8 +3,6 @@
 import re
 from random import choice
 
-INVALID_PROJECT_NAMES = ('django', 'site', 'test')
-
 class Command(LabelCommand):
     help = "Creates a Django project directory structure for the given project name in the current directory."
     args = "[projectname]"
@@ -20,13 +18,16 @@
         # the parent directory.
         directory = os.getcwd()
 
+        # Check that the project_name is free and can't be imported
         try:
-            proj_name = __import__(project_name)
-            if proj_name:
-                raise CommandError("%r conflicts with the name of an existing Python module and cannot be used as a project name. Please try another name." % project_name)
+            __import__(project_name)
         except ImportError:
-            if project_name in INVALID_PROJECT_NAMES:
-                raise CommandError("%r contains an invalid project name. Please try another name." % project_name)
+            pass
+        else:
+            raise CommandError("%r conflicts with the name of an existing"
+                               " Python module and cannot be used as"
+                               " a project name. Please try another name."
+                               % project_name)
 
         copy_helper(self.style, 'project', project_name, directory)
 
