diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py
index 0469005..e2de8c8 100644
--- a/planetstack/core/admin.py
+++ b/planetstack/core/admin.py
@@ -954,7 +954,7 @@
         deployment_images = []
         for image in Image.objects.all():
             for deployment_image in image.imagedeployments.all():
-                deployment_images.append( (deployment_image.controller.id, image.id, image.name) )
+                deployment_images.append( (deployment_image.deployment.id, image.id, image.name) )
 
         site_login_bases = []
         for site in Site.objects.all():
@@ -1260,8 +1260,8 @@
     def queryset(self, request):
         return User.select_by_user(request.user)
 
-class ControllerDashboardInline(PlStackTabularInline):
-    model = ControllerDashboard
+class ControllerDashboardViewInline(PlStackTabularInline):
+    model = ControllerDashboardView
     extra = 0
     fields = ["controller", "url"]
     suit_classes = 'suit-tab suit-tab-controllers'
@@ -1272,7 +1272,7 @@
                     'classes': ['suit-tab suit-tab-general']})
                ]
     readonly_fields = ('backend_status_text', )
-    inlines = [ControllerDashboardInline]
+    inlines = [ControllerDashboardViewInline]
 
     suit_form_tabs =(('general','Dashboard View Details'),
                      ('controllers', 'Per-controller Dashboard Details'))
diff --git a/planetstack/core/models/__init__.py b/planetstack/core/models/__init__.py
index 532398d..d0f1744 100644
--- a/planetstack/core/models/__init__.py
+++ b/planetstack/core/models/__init__.py
@@ -6,7 +6,7 @@
 from .tag import Tag
 from .role import Role
 from .site import Site, Deployment, DeploymentRole, DeploymentPrivilege, Controller, ControllerRole, ControllerPrivilege, SiteDeployments, ControllerSiteDeployments
-from .dashboard import DashboardView, ControllerDashboard
+from .dashboard import DashboardView, ControllerDashboardView
 from .user import User, UserDashboardView
 from .serviceclass import ServiceClass
 from .site import ControllerManager, ControllerDeletionManager, ControllerLinkManager,ControllerLinkDeletionManager
diff --git a/planetstack/core/models/dashboard.py b/planetstack/core/models/dashboard.py
index f4e9fb1..18f47f3 100644
--- a/planetstack/core/models/dashboard.py
+++ b/planetstack/core/models/dashboard.py
@@ -7,15 +7,15 @@
 class DashboardView(PlCoreBase):
     name = models.CharField(max_length=200, unique=True, help_text="Name of the View")
     url = models.CharField(max_length=1024, help_text="URL of Dashboard")
-    controllers = models.ManyToManyField(Controller, blank=True, related_name="dashboards", through='ControllerDashboard')
+    controllers = models.ManyToManyField(Controller, blank=True, related_name="dashboardViews", through='ControllerDashboardView')
 
     def __unicode__(self):  return u'%s' % (self.name)
 
-class ControllerDashboard(PlCoreBase):
+class ControllerDashboardView(PlCoreBase):
     objects = ControllerLinkManager()
     deleted_objects = ControllerLinkDeletionManager()
-    controller = models.ForeignKey(Controller, related_name='controllerdashboards')
-    dashboardView = models.ForeignKey(DashboardView, related_name='controllerdashboards')
+    controller = models.ForeignKey(Controller, related_name='controllerdashboardViews')
+    dashboardView = models.ForeignKey(DashboardView, related_name='controllerdashboardViews')
 
     url = models.CharField(max_length=1024, help_text="URL of Dashboard")
 
