diff --git a/circle/vm/tests/test_operations.py b/circle/vm/tests/test_operations.py
index eaa5aa2..6c256cd 100644
--- a/circle/vm/tests/test_operations.py
+++ b/circle/vm/tests/test_operations.py
@@ -16,9 +16,10 @@
 # with CIRCLE.  If not, see <http://www.gnu.org/licenses/>.
 
 from django.test import TestCase
+from mock import patch, MagicMock
 
 from common.operations import operation_registry_name as op_reg_name
-from vm.models import Instance, Node
+from vm.models import Instance, InstanceActivity, Node
 from vm.operations import (
     DeployOperation, DestroyOperation, FlushOperation, MigrateOperation,
     RebootOperation, ResetOperation, SaveAsTemplateOperation,
@@ -45,6 +46,22 @@ class MigrateOperationTestCase(TestCase):
     def test_operation_registered(self):
         assert MigrateOperation.id in getattr(Instance, op_reg_name)
 
+    def test_operation_wo_to_node_param(self):
+        class MigrateException(Exception):
+            pass
+
+        inst = MagicMock(spec=Instance)
+        act = MagicMock(spec=InstanceActivity)
+        inst.migrate_vm = MagicMock(side_effect=MigrateException())
+        inst.select_node = MagicMock(return_value='test')
+        inst.reallocate_node = (
+            lambda act: Instance.reallocate_node(inst, act))
+        self.assertRaises(
+            MigrateException, MigrateOperation(inst)._operation,
+            act, to_node=None)
+        assert inst.select_node.called
+        inst.migrate_vm.assert_called_once_with(to_node='test', timeout=120)
+
 
 class RebootOperationTestCase(TestCase):
     def test_operation_registered(self):