diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py
index d2c1c64..1c57eb4 100644
--- a/circle/dashboard/views.py
+++ b/circle/dashboard/views.py
@@ -608,14 +608,11 @@ class OperationView(RedirectToLoginMixin, DetailView):
         return me
 
 
-class VmOperationView(OperationView):
-
-    model = Instance
-    context_object_name = 'instance'  # much simpler to mock object
+class AjaxOperationMixin(object):
 
     def post(self, request, extra=None, *args, **kwargs):
-        resp = super(VmOperationView, self).post(request, extra, *args,
-                                                 **kwargs)
+        resp = super(AjaxOperationMixin, self).post(
+            request, extra, *args, **kwargs)
         if request.is_ajax():
             store = messages.get_messages(request)
             store.used = True
@@ -628,6 +625,12 @@ class VmOperationView(OperationView):
             return resp
 
 
+class VmOperationView(AjaxOperationMixin, OperationView):
+
+    model = Instance
+    context_object_name = 'instance'  # much simpler to mock object
+
+
 class FormOperationMixin(object):
 
     form_class = None