diff --git a/djangoldp/tests/runner.py b/djangoldp/tests/runner.py
index 52ea84883145ef69aa1a8a8edc501f59abde6349..47fcb93e95edb31b3cb934084b3f5684ff40f6d3 100644
--- a/djangoldp/tests/runner.py
+++ b/djangoldp/tests/runner.py
@@ -35,7 +35,7 @@ settings.configure(DEBUG=True,
                        }
                    }
                    ,
-                   ROOT_URLCONF='djangoldp.tests.urls',
+                   ROOT_URLCONF='djangoldp.urls',
                    DJANGOLDP_PACKAGES=['djangoldp.tests'],
                    INSTALLED_APPS=('django.contrib.auth',
                                    'django.contrib.contenttypes',
diff --git a/djangoldp/tests/urls.py b/djangoldp/tests/urls.py
index a686bd1b7aa76e48fed6e1db9a86480507bed55e..ca20518d79fa6f723f8063862bcf28157722b781 100644
--- a/djangoldp/tests/urls.py
+++ b/djangoldp/tests/urls.py
@@ -9,6 +9,5 @@ urlpatterns = [
     url(r'^threads/', LDPViewSet.urls(model=Thread, nested_fields=["message_set"], permission_classes=())),
     url(r'^users/', LDPViewSet.urls(model=settings.AUTH_USER_MODEL, permission_classes=[])),
     url(r'^dummys/', LDPViewSet.urls(model=Dummy, permission_classes=[], lookup_field='slug',)),
-    url(r'^', include('djangoldp.urls')),
 ]
 
diff --git a/djangoldp/urls.py b/djangoldp/urls.py
index 082f6d705e0b882a0a70e7312c994976d12ed0aa..a4a5c5349aa809d0a07041d4c4fc4da11ff00c37 100644
--- a/djangoldp/urls.py
+++ b/djangoldp/urls.py
@@ -37,3 +37,9 @@ for class_name in model_classes:
                  permission_classes=Model.get_meta(model_class, 'permission_classes', []),
                  fields=Model.get_meta(model_class, 'serializer_fields', []),
                  nested_fields=Model.get_meta(model_class, 'nested_fields', [])))))
+
+for package in settings.DJANGOLDP_PACKAGES:
+    try:
+        urlpatterns.append(url(r'^', include('{}.urls'.format(package))))
+    except ModuleNotFoundError:
+        pass