diff --git a/novaclient/v1_0/servers.py b/novaclient/v1_0/servers.py
index 83cbebab1..03c590d11 100644
--- a/novaclient/v1_0/servers.py
+++ b/novaclient/v1_0/servers.py
@@ -414,42 +414,37 @@ class ServerManager(local_base.BootingManagerWithFind):
         """
         Pause the server.
         """
-        self.api.client.post('/servers/%s/pause' % base.getid(server), body={})
+        self.api.client.post('/servers/%s/pause' % base.getid(server))
 
     def unpause(self, server):
         """
         Unpause the server.
         """
-        self.api.client.post('/servers/%s/unpause' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/unpause' % base.getid(server))
 
     def suspend(self, server):
         """
         Suspend the server.
         """
-        self.api.client.post('/servers/%s/suspend' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/suspend' % base.getid(server))
 
     def resume(self, server):
         """
         Resume the server.
         """
-        self.api.client.post('/servers/%s/resume' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/resume' % base.getid(server))
 
     def rescue(self, server):
         """
         Rescue the server.
         """
-        self.api.client.post('/servers/%s/rescue' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/rescue' % base.getid(server))
 
     def unrescue(self, server):
         """
         Unrescue the server.
         """
-        self.api.client.post('/servers/%s/unrescue' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/unrescue' % base.getid(server))
 
     def diagnostics(self, server):
         """Retrieve server diagnostics."""
@@ -483,7 +478,7 @@ class ServerManager(local_base.BootingManagerWithFind):
 
         :param server: The :class:`Server` (or its ID).
         """
-        self._action('migrate', server)
+        self.api.client.post('/servers/%s/migrate' % base.getid(server))
 
     def _action(self, action, server, info=None):
         """
diff --git a/novaclient/v1_1/servers.py b/novaclient/v1_1/servers.py
index 4ab7f5bc1..cac3ec1f5 100644
--- a/novaclient/v1_1/servers.py
+++ b/novaclient/v1_1/servers.py
@@ -243,42 +243,37 @@ class ServerManager(local_base.BootingManagerWithFind):
         """
         Pause the server.
         """
-        self.api.client.post('/servers/%s/pause' % base.getid(server), body={})
+        self.api.client.post('/servers/%s/pause' % base.getid(server))
 
     def unpause(self, server):
         """
         Unpause the server.
         """
-        self.api.client.post('/servers/%s/unpause' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/unpause' % base.getid(server))
 
     def suspend(self, server):
         """
         Suspend the server.
         """
-        self.api.client.post('/servers/%s/suspend' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/suspend' % base.getid(server))
 
     def resume(self, server):
         """
         Resume the server.
         """
-        self.api.client.post('/servers/%s/resume' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/resume' % base.getid(server))
 
     def rescue(self, server):
         """
         Rescue the server.
         """
-        self.api.client.post('/servers/%s/rescue' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/rescue' % base.getid(server))
 
     def unrescue(self, server):
         """
         Unrescue the server.
         """
-        self.api.client.post('/servers/%s/unrescue' % base.getid(server),
-                             body={})
+        self.api.client.post('/servers/%s/unrescue' % base.getid(server))
 
     def diagnostics(self, server):
         """Retrieve server diagnostics."""
@@ -378,7 +373,7 @@ class ServerManager(local_base.BootingManagerWithFind):
 
         :param server: The :class:`Server` (or its ID).
         """
-        self._action('migrate', server)
+        self.api.client.post('/servers/%s/migrate' % base.getid(server))
 
     def resize(self, server, flavor):
         """
diff --git a/tests/v1_0/fakes.py b/tests/v1_0/fakes.py
index c47affc5e..b7e79cf74 100644
--- a/tests/v1_0/fakes.py
+++ b/tests/v1_0/fakes.py
@@ -26,7 +26,7 @@ class FakeHTTPClient(base_client.HTTPClient):
         # Check that certain things are called correctly
         if method in ['GET', 'DELETE']:
             assert 'body' not in kwargs
-        elif method in ['PUT', 'POST']:
+        elif method == 'PUT':
             assert 'body' in kwargs
 
         # Call the method
@@ -159,6 +159,9 @@ class FakeHTTPClient(base_client.HTTPClient):
             for pfile in body['server']['personality']:
                 fakes.assert_has_keys(pfile, required=['path', 'contents'])
         return (202, self.get_servers_1234()[1])
+    
+    def post_servers_1234_migrate(self, *args, **kwargs):
+        return (202, None)
 
     def get_servers_1234(self, **kw):
         r = {'server': self.get_servers_detail()[1]['servers'][0]}
diff --git a/tests/v1_0/test_servers.py b/tests/v1_0/test_servers.py
index fcb3e9068..68853db2c 100644
--- a/tests/v1_0/test_servers.py
+++ b/tests/v1_0/test_servers.py
@@ -150,9 +150,9 @@ class ServersTest(utils.TestCase):
     def test_migrate_server(self):
         s = cs.servers.get(1234)
         s.migrate()
-        cs.assert_called('POST', '/servers/1234/action')
+        cs.assert_called('POST', '/servers/1234/migrate')
         cs.servers.migrate(s)
-        cs.assert_called('POST', '/servers/1234/action')
+        cs.assert_called('POST', '/servers/1234/migrate')
 
     def test_add_fixed_ip(self):
         s = cs.servers.get(1234)
diff --git a/tests/v1_1/fakes.py b/tests/v1_1/fakes.py
index 3985a7843..b2226830a 100644
--- a/tests/v1_1/fakes.py
+++ b/tests/v1_1/fakes.py
@@ -27,7 +27,7 @@ class FakeHTTPClient(base_client.HTTPClient):
         # Check that certain things are called correctly
         if method in ['GET', 'DELETE']:
             assert 'body' not in kwargs
-        elif method in ['PUT', 'POST']:
+        elif method == 'PUT':
             assert 'body' in kwargs
 
         # Call the method
@@ -192,6 +192,9 @@ class FakeHTTPClient(base_client.HTTPClient):
                 fakes.assert_has_keys(pfile, required=['path', 'contents'])
         return (202, self.get_servers_1234()[1])
 
+    def post_servers_1234_migrate(self, *args, **kwargs):
+        return (202, None)
+
     def get_servers_1234(self, **kw):
         r = {'server': self.get_servers_detail()[1]['servers'][0]}
         return (200, r)
diff --git a/tests/v1_1/test_servers.py b/tests/v1_1/test_servers.py
index 74192965f..20c08edb6 100644
--- a/tests/v1_1/test_servers.py
+++ b/tests/v1_1/test_servers.py
@@ -116,9 +116,9 @@ class ServersTest(utils.TestCase):
     def test_migrate_server(self):
         s = cs.servers.get(1234)
         s.migrate()
-        cs.assert_called('POST', '/servers/1234/action')
+        cs.assert_called('POST', '/servers/1234/migrate')
         cs.servers.migrate(s)
-        cs.assert_called('POST', '/servers/1234/action')
+        cs.assert_called('POST', '/servers/1234/migrate')
 
     def test_add_fixed_ip(self):
         s = cs.servers.get(1234)