diff --git a/hypermap/aggregator/models.py b/hypermap/aggregator/models.py
index <HASH>..<HASH> 100644
--- a/hypermap/aggregator/models.py
+++ b/hypermap/aggregator/models.py
@@ -244,7 +244,7 @@ class Layer(Resource):
         elif self.service.type == 'WM':
             # we use the geoserver virtual layer getcapabilities for this purpose
             url = 'http://worldmap.harvard.edu/geoserver/geonode/%s/wms?' % self.name
-            ows = WebMapService(url)
+            ows = WebMapService(url, username=settings.WM_USERNAME, password=settings.WM_USERNAME_PASSWORD)
             op_getmap = ows.getOperationByName('GetMap')
             image_format = 'image/png'
             if image_format not in op_getmap.formatOptions:
diff --git a/hypermap/settings/default.py b/hypermap/settings/default.py
index <HASH>..<HASH> 100644
--- a/hypermap/settings/default.py
+++ b/hypermap/settings/default.py
@@ -176,3 +176,13 @@ SKIP_CELERY_TASK = False
 
 # taggit
 TAGGIT_CASE_INSENSITIVE = True
+
+# WorldMap Service credentials (override this in local_settings or _ubuntu in production)
+WM_USERNAME = 'wmuser'
+WM_USERNAME_PASSWORD = 'secret'
+
+# Load more settings from a file called local_settings.py if it exists
+try:
+    from local_settings import *  # noqa
+except ImportError:
+    pass
Now doing getmap with username and password in WM layer, this way we get valid checks and thumbnails for private layers