diff --git a/circle/dashboard/templates/dashboard/template-list.html b/circle/dashboard/templates/dashboard/template-list.html
index 872d436..9c3bfb5 100644
--- a/circle/dashboard/templates/dashboard/template-list.html
+++ b/circle/dashboard/templates/dashboard/template-list.html
@@ -26,9 +26,11 @@
   <div class="col-md-6">
     <div class="panel panel-default">
       <div class="panel-heading">
+        {% if perms.vm.create_leases %}
         <a href="{% url "dashboard.views.lease-create" %}" class="pull-right btn btn-success btn-xs" style="margin-right: 10px;">
           <i class="icon-plus"></i> {% trans "new lease" %}
         </a>
+        {% endif %}
         <h3 class="no-margin"><i class="icon-time"></i> {% trans "Leases" %}</h3>
       </div>
       <div class="panel-body">
diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py
index cfc2f42..b0864dd 100644
--- a/circle/dashboard/views.py
+++ b/circle/dashboard/views.py
@@ -2285,10 +2285,11 @@ class VmMassDelete(LoginRequiredMixin, View):
             return redirect(next if next else reverse_lazy('dashboard.index'))
 
 
-class LeaseCreate(LoginRequiredMixin, SuperuserRequiredMixin,
+class LeaseCreate(LoginRequiredMixin, PermissionRequiredMixin,
                   SuccessMessageMixin, CreateView):
     model = Lease
     form_class = LeaseForm
+    permission_required = 'vm.create_leases'
     template_name = "dashboard/lease-create.html"
     success_message = _("Successfully created a new lease.")
 
diff --git a/circle/vm/models/common.py b/circle/vm/models/common.py
index bf89386..9adf9d4 100644
--- a/circle/vm/models/common.py
+++ b/circle/vm/models/common.py
@@ -97,7 +97,6 @@ class Lease(AclBase):
         ordering = ['name', ]
         permissions = (
             ('create_leases', _('Can create new leases.')),
-            ('bypass_leases', _('Can set arbitrary expiration times.')),
         )
 
     @property