diff --git a/tempest/manager.py b/tempest/manager.py
index b960edb..ea012b8 100644
--- a/tempest/manager.py
+++ b/tempest/manager.py
@@ -115,7 +115,8 @@
         # Create our default Nova client to use in testing
         self.client = novaclient.client.Client(self.NOVACLIENT_VERSION,
                         *client_args,
-                        service_type=self.config.compute.catalog_type)
+                        service_type=self.config.compute.catalog_type,
+                        no_cache=True)
 
 
 class GlanceDefaultClientManager(DefaultClientManager):
diff --git a/tempest/tests/compute/test_list_servers_negative.py b/tempest/tests/compute/test_list_servers_negative.py
index dada597..d026977 100644
--- a/tempest/tests/compute/test_list_servers_negative.py
+++ b/tempest/tests/compute/test_list_servers_negative.py
@@ -27,11 +27,11 @@
 from tempest.tests import compute
 
 
-class ServerDetailsNegativeTest(BaseComputeTest):
+class ListServersNegativeTest(BaseComputeTest):
 
     @classmethod
     def setUpClass(cls):
-        super(ServerDetailsNegativeTest, cls).setUpClass()
+        super(ListServersNegativeTest, cls).setUpClass()
         cls.client = cls.servers_client
         cls.servers = []
 
diff --git a/tempest/tests/compute/test_servers_whitebox.py b/tempest/tests/compute/test_servers_whitebox.py
index b4edab6..b47b516 100644
--- a/tempest/tests/compute/test_servers_whitebox.py
+++ b/tempest/tests/compute/test_servers_whitebox.py
@@ -20,12 +20,15 @@
 from tempest.tests.identity.base import BaseIdentityAdminTest
 from nose.plugins.attrib import attr
 
+import nose
+
 
 @attr(type='whitebox')
 class ServersWhiteboxTest(whitebox.ComputeWhiteboxTest):
 
     @classmethod
     def setUpClass(cls):
+        raise nose.SkipTest("Until Bug 1034129 is fixed")
         super(ServersWhiteboxTest, cls).setUpClass()
         BaseIdentityAdminTest.setUpClass()
         cls.client = cls.servers_client
