diff --git a/openstackclient/compute/v2/server_group.py b/openstackclient/compute/v2/server_group.py
index c49a552f2c..9bc2bb432d 100644
--- a/openstackclient/compute/v2/server_group.py
+++ b/openstackclient/compute/v2/server_group.py
@@ -17,6 +17,7 @@
 
 import logging
 
+from novaclient import api_versions
 from osc_lib.command import command
 from osc_lib import exceptions
 from osc_lib import utils
@@ -67,9 +68,13 @@ class CreateServerGroup(command.ShowOne):
     def take_action(self, parsed_args):
         compute_client = self.app.client_manager.compute
         info = {}
+
+        policy_arg = {'policies': [parsed_args.policy]}
+        if compute_client.api_version >= api_versions.APIVersion("2.64"):
+            policy_arg = {'policy': parsed_args.policy}
         server_group = compute_client.server_groups.create(
-            name=parsed_args.name,
-            policies=[parsed_args.policy])
+            name=parsed_args.name, **policy_arg)
+
         info.update(server_group._info)
 
         columns = _get_columns(info)
diff --git a/openstackclient/tests/unit/compute/v2/test_server_group.py b/openstackclient/tests/unit/compute/v2/test_server_group.py
index 9cd876ead1..b9bb79f620 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_group.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_group.py
@@ -15,6 +15,7 @@
 
 from unittest import mock
 
+from novaclient import api_versions
 from osc_lib import exceptions
 from osc_lib import utils
 
@@ -80,6 +81,28 @@ class TestServerGroupCreate(TestServerGroup):
         self.assertEqual(self.columns, columns)
         self.assertEqual(self.data, data)
 
+    def test_server_group_create_v264(self):
+        self.app.client_manager.compute.api_version = api_versions.APIVersion(
+            '2.64')
+
+        arglist = [
+            '--policy', 'soft-anti-affinity',
+            'affinity_group',
+        ]
+        verifylist = [
+            ('policy', 'soft-anti-affinity'),
+            ('name', 'affinity_group'),
+        ]
+        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+        columns, data = self.cmd.take_action(parsed_args)
+        self.server_groups_mock.create.assert_called_once_with(
+            name=parsed_args.name,
+            policy=parsed_args.policy,
+        )
+
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.data, data)
+
 
 class TestServerGroupDelete(TestServerGroup):