diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py
index 5f9efd2..b195b30 100644
--- a/planetstack/core/admin.py
+++ b/planetstack/core/admin.py
@@ -1293,7 +1293,7 @@
 
 class DashboardViewAdmin(PlanetStackBaseAdmin):
     fieldsets = [('Dashboard View Details',
-                   {'fields': ['backend_status_text', 'name', 'url'],
+                   {'fields': ['backend_status_text', 'name', 'url', 'enabled'],
                     'classes': ['suit-tab suit-tab-general']})
                ]
     readonly_fields = ('backend_status_text', )
diff --git a/planetstack/core/dashboard/views/home.py b/planetstack/core/dashboard/views/home.py
index 0d9ff74..6f57666 100644
--- a/planetstack/core/dashboard/views/home.py
+++ b/planetstack/core/dashboard/views/home.py
@@ -75,11 +75,18 @@
             dashboards.append(customize[0])
 
         for i,view in enumerate(dashboards):
+            # don't display disabled dashboards
+            if (not view.enabled):
+                continue
             body = body + '<li><a href="#dashtab-%d">%s</a></li>\n' % (i, view.name)
 
         body = body + "</ul>\n"
 
         for i,view in enumerate(dashboards):
+            # don't display disabled dashboards
+            if (not view.enabled):
+                continue
+
             url = view.url
             body = body + '<div id="dashtab-%d">\n' % i
             if (view.controllers.all().count()>0):
diff --git a/planetstack/core/models/dashboard.py b/planetstack/core/models/dashboard.py
index 828acec..39dcf07 100644
--- a/planetstack/core/models/dashboard.py
+++ b/planetstack/core/models/dashboard.py
@@ -8,6 +8,7 @@
     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="dashboardviews", through='ControllerDashboardView')
+    enabled = models.BooleanField(default=True)
 
     def __unicode__(self):  return u'%s' % (self.name)
 
@@ -16,6 +17,7 @@
     deleted_objects = ControllerLinkDeletionManager()
     controller = models.ForeignKey(Controller, related_name='controllerdashboardviews')
     dashboardView = models.ForeignKey(DashboardView, related_name='controllerdashboardviews')
+    enabled = models.BooleanField(default=True)
 
     url = models.CharField(max_length=1024, help_text="URL of Dashboard")
 
