diff --git a/django/db/models/loading.py b/django/db/models/loading.py
index f86b691..bc62aa0 100644
--- a/django/db/models/loading.py
+++ b/django/db/models/loading.py
@@ -132,7 +132,7 @@ class AppCache(object):
         self._populate()
         return self.app_errors
 
-    def get_models(self, app_mod=None, include_auto_created=False):
+    def get_models(self, app_mod=None, include_auto_created=False, include_deferred=False):
         """
         Given a module containing models, returns a list of the models.
         Otherwise returns a list of all installed models.
@@ -141,7 +141,7 @@ class AppCache(object):
         explicit intermediate table) are not included. However, if you
         specify include_auto_created=True, they will be.
         """
-        cache_key = (app_mod, include_auto_created)
+        cache_key = (app_mod, include_auto_created, include_deferred)
         try:
             return self._get_models_cache[cache_key]
         except KeyError:
@@ -155,6 +155,8 @@ class AppCache(object):
                 model_list.extend(app_entry.values())
         if not include_auto_created:
             model_list = filter(lambda o: not o._meta.auto_created, model_list)
+        if not include_deferred:
+            model_list = filter(lambda o: not o._deferred, model_list)
         self._get_models_cache[cache_key] = model_list
         return model_list
 
diff --git a/tests/regressiontests/defer_regress/models.py b/tests/regressiontests/defer_regress/models.py
index a1cd197..23d855b 100644
--- a/tests/regressiontests/defer_regress/models.py
+++ b/tests/regressiontests/defer_regress/models.py
@@ -132,6 +132,11 @@ False
 >>> i2._deferred # Item must still be non-deferred
 False
 
+# Regression for #11936 - loading.get_models should not return deferred models by default.
+>>> from django.db.models.loading import get_models
+>>> get_models(models.get_app('defer_regress'))
+[<class 'regressiontests.defer_regress.models.Item'>, <class 'regressiontests.defer_regress.models.RelatedItem'>, <class 'regressiontests.defer_regress.models.Child'>, <class 'regressiontests.defer_regress.models.Leaf'>]
+
 # Finally, we need to flush the app cache for the defer module.
 # Using only/defer creates some artifical entries in the app cache
 # that messes up later tests. Purge all entries, just to be sure.
