diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py
index 8c90b95511..6b6fc090f9 100644
--- a/openstackclient/network/v2/subnet_pool.py
+++ b/openstackclient/network/v2/subnet_pool.py
@@ -111,6 +111,9 @@ class CreateSubnetPool(command.ShowOne):
     def take_action(self, parsed_args):
         client = self.app.client_manager.network
         attrs = _get_attrs(self.app.client_manager, parsed_args)
+        # NeutronServer expects prefixes to be a List
+        if "prefixes" not in attrs:
+            attrs['prefixes'] = []
         obj = client.create_subnet_pool(**attrs)
         columns = _get_columns(obj)
         data = utils.get_item_properties(obj, columns, formatters=_formatters)
diff --git a/openstackclient/tests/network/v2/test_subnet_pool.py b/openstackclient/tests/network/v2/test_subnet_pool.py
index c79b91799c..093e26c67e 100644
--- a/openstackclient/tests/network/v2/test_subnet_pool.py
+++ b/openstackclient/tests/network/v2/test_subnet_pool.py
@@ -149,6 +149,7 @@ class TestCreateSubnetPool(TestSubnetPool):
             'default_prefixlen': self._subnet_pool.default_prefixlen,
             'max_prefixlen': self._subnet_pool.max_prefixlen,
             'min_prefixlen': self._subnet_pool.min_prefixlen,
+            'prefixes': [],
             'name': self._subnet_pool.name,
         })
         self.assertEqual(self.columns, columns)