diff --git a/djangoldp/admin.py b/djangoldp/admin.py
index 13370eb9c2d30adf23697b66dade78891f3becf6..b385c6c7e6f45f1b24932d0ffbd808d0c8e0fff0 100644
--- a/djangoldp/admin.py
+++ b/djangoldp/admin.py
@@ -1,4 +1,20 @@
+from importlib import import_module
+
+from django.conf import settings
 from django.contrib import admin
-from .models import LDPSource
+from .models import LDPSource, Model
+
+for package in settings.DJANGOLDP_PACKAGES:
+    try:
+        import_module('{}.models'.format(package))
+    except ModuleNotFoundError:
+        pass
+
+model_classes = {cls.__name__: cls for cls in Model.__subclasses__()}
+
+for class_name in model_classes:
+    model_class = model_classes[class_name]
+    if not admin.site.is_registered(model_class):
+        admin.site.register(model_class)
 
 admin.site.register(LDPSource)