diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py
index 166747d59f..7ca08a4f23 100644
--- a/openstackclient/compute/client.py
+++ b/openstackclient/compute/client.py
@@ -15,8 +15,13 @@
 
 import logging
 
+from novaclient import client as nova_client
 from novaclient import extension
-from novaclient.v1_1.contrib import list_extensions
+
+try:
+    from novaclient.v2.contrib import list_extensions
+except ImportError:
+    from novaclient.v1_1.contrib import list_extensions
 
 from openstackclient.common import utils
 
@@ -25,19 +30,13 @@ LOG = logging.getLogger(__name__)
 DEFAULT_COMPUTE_API_VERSION = '2'
 API_VERSION_OPTION = 'os_compute_api_version'
 API_NAME = 'compute'
-API_VERSIONS = {
-    '1.1': 'novaclient.v1_1.client.Client',
-    '1': 'novaclient.v1_1.client.Client',
-    '2': 'novaclient.v1_1.client.Client',
-}
 
 
 def make_client(instance):
     """Returns a compute service client."""
-    compute_client = utils.get_client_class(
-        API_NAME,
+    compute_client = nova_client.get_client_class(
         instance._api_version[API_NAME],
-        API_VERSIONS)
+    )
     LOG.debug('Instantiating compute client: %s', compute_client)
 
     # Set client http_log_debug to True if verbosity level is high enough
diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py
index f7ffb1d115..13a2103fae 100644
--- a/openstackclient/compute/v2/security_group.py
+++ b/openstackclient/compute/v2/security_group.py
@@ -24,7 +24,12 @@ from cliff import lister
 from cliff import show
 
 from keystoneclient import exceptions as ksc_exc
-from novaclient.v1_1 import security_group_rules
+
+try:
+    from novaclient.v2 import security_group_rules
+except ImportError:
+    from novaclient.v1_1 import security_group_rules
+
 from openstackclient.common import parseractions
 from openstackclient.common import utils
 
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index f0a59d348b..3d28cc151b 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -26,7 +26,11 @@ import sys
 from cliff import command
 from cliff import lister
 from cliff import show
-from novaclient.v1_1 import servers
+
+try:
+    from novaclient.v2 import servers
+except ImportError:
+    from novaclient.v1_1 import servers
 
 from openstackclient.common import exceptions
 from openstackclient.common import parseractions