diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py
index 17ce0f7fb4..655147d95f 100644
--- a/openstackclient/network/v2/network.py
+++ b/openstackclient/network/v2/network.py
@@ -93,7 +93,9 @@ def _get_attrs(client_manager, parsed_args):
             parsed_args.project,
             parsed_args.project_domain,
         ).id
+        # TODO(dtroyer): Remove tenant_id when we clean up the SDK refactor
         attrs['tenant_id'] = project_id
+        attrs['project_id'] = project_id
 
     # "network set" command doesn't support setting availability zone hints.
     if 'availability_zone_hints' in parsed_args and \
diff --git a/openstackclient/tests/unit/network/v2/test_network.py b/openstackclient/tests/unit/network/v2/test_network.py
index c5283443e6..b405bef9a8 100644
--- a/openstackclient/tests/unit/network/v2/test_network.py
+++ b/openstackclient/tests/unit/network/v2/test_network.py
@@ -185,7 +185,9 @@ class TestCreateNetworkIdentityV3(TestNetwork):
             'name': self._network.name,
             'shared': True,
             'description': self._network.description,
+            # TODO(dtroyer): Remove tenant_id when we clean up the SDK refactor
             'tenant_id': self.project.id,
+            'project_id': self.project.id,
             'is_default': True,
             'router:external': True,
             'provider:network_type': 'vlan',
@@ -319,7 +321,9 @@ class TestCreateNetworkIdentityV2(TestNetwork):
         self.network.create_network.assert_called_once_with(**{
             'admin_state_up': True,
             'name': self._network.name,
+            # TODO(dtroyer): Remove tenant_id when we clean up the SDK refactor
             'tenant_id': self.project.id,
+            'project_id': self.project.id,
         })
         self.assertEqual(self.columns, columns)
         self.assertEqual(self.data, data)