diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py
index 5590144..9ea1c36 100644
--- a/planetstack/core/admin.py
+++ b/planetstack/core/admin.py
@@ -823,7 +823,7 @@
 
         deployment_images = []
         for image in Image.objects.all():
-            for imageDeployment in image.imagedeployments_set.all():
+            for imageDeployment in image.imagedeployments.all():
                 deployment_images.append( (imageDeployment.deployment.id, image.id, image.name) )
 
         site_login_bases = []
diff --git a/planetstack/core/dashboard/views/tenant.py b/planetstack/core/dashboard/views/tenant.py
index 0555867..02f388a 100644
--- a/planetstack/core/dashboard/views/tenant.py
+++ b/planetstack/core/dashboard/views/tenant.py
@@ -231,7 +231,7 @@
     length = len(BLESSED_DEPLOYMENTS)
     for deployment in Deployment.objects.all():
         if deployment.name in BLESSED_DEPLOYMENTS:
-            for x in deployment.imagedeployments_set.all():
+            for x in deployment.imagedeployments.all():
                 tempImageInfo.append(x.image.name)
     temp = {}
     for i in set(tempImageInfo):
@@ -309,7 +309,7 @@
     available_sites = []
     for deployment in Deployment.objects.all():
         if deployment.name in BLESSED_DEPLOYMENTS:
-            for x in deployment.sitedeployments_set.all():
+            for x in deployment.sitedeployments.all():
 		if x.site.nodes.all():
                 	available_sites.append(x.site.name)
     return list(set(available_sites))
diff --git a/planetstack/openstack_observer/steps/sync_network_slivers.py b/planetstack/openstack_observer/steps/sync_network_slivers.py
index 086308e..06ee856 100644
--- a/planetstack/openstack_observer/steps/sync_network_slivers.py
+++ b/planetstack/openstack_observer/steps/sync_network_slivers.py
@@ -29,7 +29,7 @@
         networks = Network.objects.all()
         networks_by_id = {}
         for network in networks:
-            for nd in network.networkdeployments_set.all():
+            for nd in network.networkdeployments.all():
                 networks_by_id[nd.net_id] = network
 
         #logger.info("networks_by_id = ")
