Index: tests/regressiontests/admin_autodiscover/admin.py
===================================================================
--- tests/regressiontests/admin_autodiscover/admin.py	(revision 0)
+++ tests/regressiontests/admin_autodiscover/admin.py	(revision 0)
@@ -0,0 +1 @@
+raise ImportError('From inside admin.py')
Index: tests/regressiontests/admin_autodiscover/__init__.py
===================================================================
Index: tests/regressiontests/admin_autodiscover/tests.py
===================================================================
--- tests/regressiontests/admin_autodiscover/tests.py	(revision 0)
+++ tests/regressiontests/admin_autodiscover/tests.py	(revision 0)
@@ -0,0 +1,7 @@
+r"""
+>>> from django.contrib import admin
+>>> admin.autodiscover()
+Traceback (most recent call last):
+...
+ImportError: From inside admin.py
+"""
Index: tests/regressiontests/admin_autodiscover/models.py
===================================================================
Index: django/contrib/admin/__init__.py
===================================================================
--- django/contrib/admin/__init__.py	(revision 8062)
+++ django/contrib/admin/__init__.py	(working copy)
@@ -8,9 +8,13 @@
     not present. This forces an import on them to register any admin bits they
     may want.
     """
+    from sys import exc_info
+    from traceback import extract_tb
     from django.conf import settings
     for app in settings.INSTALLED_APPS:
         try:
             __import__("%s.admin" % app)
         except ImportError:
-            pass
+            exc = exc_info()
+            if len(extract_tb(exc[-1], 2)) > 1:
+                raise
