diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py
index 8a9b910f2f..56148790ef 100644
--- a/openstackclient/common/quota.py
+++ b/openstackclient/common/quota.py
@@ -196,10 +196,13 @@ class ShowQuota(show.ShowOne):
     def get_network_quota(self, parsed_args):
         if parsed_args.quota_class or parsed_args.default:
             return {}
-        service_catalog = self.app.client_manager.auth_ref.service_catalog
-        if 'network' in service_catalog.get_endpoints():
-            network_client = self.app.client_manager.network
-            return network_client.show_quota(parsed_args.project)['quota']
+        if self.app.client_manager.is_network_endpoint_enabled():
+            identity_client = self.app.client_manager.identity
+            project = utils.find_resource(
+                identity_client.projects,
+                parsed_args.project,
+                ).id
+            return self.app.client_manager.network.get_quota(project)
         else:
             return {}
 
diff --git a/openstackclient/tests/common/test_quota.py b/openstackclient/tests/common/test_quota.py
index 485b8a8b97..edf29c9b1f 100644
--- a/openstackclient/tests/common/test_quota.py
+++ b/openstackclient/tests/common/test_quota.py
@@ -214,13 +214,15 @@ class TestQuotaShow(TestQuota):
             loaded=True,
         )
 
-        self.service_catalog_mock.get_endpoints.return_value = [
-            fakes.FakeResource(
-                None,
-                copy.deepcopy(identity_fakes.ENDPOINT),
-                loaded=True,
-            )
-        ]
+        fake_network_endpoint = fakes.FakeResource(
+            None,
+            copy.deepcopy(identity_fakes.ENDPOINT),
+            loaded=True,
+        )
+
+        self.service_catalog_mock.get_endpoints.return_value = {
+            'network': fake_network_endpoint
+        }
 
         self.quotas_class_mock.get.return_value = FakeQuotaResource(
             None,
@@ -244,6 +246,8 @@ class TestQuotaShow(TestQuota):
             endpoint=fakes.AUTH_URL,
             token=fakes.AUTH_TOKEN,
         )
+        self.network = self.app.client_manager.network
+        self.network.get_quota = mock.Mock(return_value=network_fakes.QUOTA)
 
         self.cmd = quota.ShowQuota(self.app, None)
 
@@ -260,6 +264,9 @@ class TestQuotaShow(TestQuota):
         self.cmd.take_action(parsed_args)
 
         self.quotas_mock.get.assert_called_with(identity_fakes.project_id)
+        self.volume_quotas_mock.get.assert_called_with(
+            identity_fakes.project_id)
+        self.network.get_quota.assert_called_with(identity_fakes.project_id)
 
     def test_quota_show_with_default(self):
         arglist = [
@@ -276,6 +283,8 @@ class TestQuotaShow(TestQuota):
         self.cmd.take_action(parsed_args)
 
         self.quotas_mock.defaults.assert_called_with(identity_fakes.project_id)
+        self.volume_quotas_mock.defaults.assert_called_with(
+            identity_fakes.project_id)
 
     def test_quota_show_with_class(self):
         arglist = [
@@ -293,3 +302,5 @@ class TestQuotaShow(TestQuota):
 
         self.quotas_class_mock.get.assert_called_with(
             identity_fakes.project_id)
+        self.volume_quotas_class_mock.get.assert_called_with(
+            identity_fakes.project_id)
diff --git a/openstackclient/tests/network/v2/fakes.py b/openstackclient/tests/network/v2/fakes.py
index 88370feb16..4c862bd332 100644
--- a/openstackclient/tests/network/v2/fakes.py
+++ b/openstackclient/tests/network/v2/fakes.py
@@ -26,6 +26,18 @@ extension_updated = '2013-07-09T12:00:0-00:00'
 extension_alias = 'Dystopian'
 extension_links = '[{"href":''"https://github.com/os/network", "type"}]'
 
+QUOTA = {
+    "subnet": 10,
+    "network": 10,
+    "floatingip": 50,
+    "subnetpool": -1,
+    "security_group_rule": 100,
+    "security_group": 10,
+    "router": 10,
+    "rbac_policy": -1,
+    "port": 50,
+}
+
 
 def create_extension():
     extension = mock.Mock()