diff --git a/cinderclient/tests/v2/test_types.py b/cinderclient/tests/v2/test_types.py
index 108cbbab3..674a13a50 100644
--- a/cinderclient/tests/v2/test_types.py
+++ b/cinderclient/tests/v2/test_types.py
@@ -54,8 +54,11 @@ class TypesTest(utils.TestCase):
         self.assertIsInstance(t, volume_types.VolumeType)
 
     def test_update(self):
-        t = cs.volume_types.update('1', 'test_desc_1')
-        cs.assert_called('PUT', '/types/1')
+        t = cs.volume_types.update('1', 'test_type_1', 'test_desc_1')
+        cs.assert_called('PUT',
+                         '/types/1',
+                         {'volume_type': {'name': 'test_type_1',
+                                          'description': 'test_desc_1'}})
         self.assertIsInstance(t, volume_types.VolumeType)
 
     def test_get(self):
diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py
index 6c3ab10f6..47811fa0a 100644
--- a/cinderclient/v2/shell.py
+++ b/cinderclient/v2/shell.py
@@ -752,13 +752,16 @@ def do_type_default(cs, args):
 @utils.arg('id',
            metavar='<id>',
            help="ID of the volume type.")
-@utils.arg('description',
+@utils.arg('--name',
+           metavar='<name>',
+           help="Name of the volume type.")
+@utils.arg('--description',
            metavar='<description>',
            help="Description of the volume type.")
 @utils.service_type('volumev2')
 def do_type_update(cs, args):
-    """Updates volume type description."""
-    vtype = cs.volume_types.update(args.id, args.description)
+    """Updates volume type name and/or description."""
+    vtype = cs.volume_types.update(args.id, args.name, args.description)
     _print_volume_type_list([vtype])
 
 
diff --git a/cinderclient/v2/volume_types.py b/cinderclient/v2/volume_types.py
index 34eb7ebe2..7eda7355b 100644
--- a/cinderclient/v2/volume_types.py
+++ b/cinderclient/v2/volume_types.py
@@ -128,16 +128,18 @@ class VolumeTypeManager(base.ManagerWithFind):
 
         return self._create("/types", body, "volume_type")
 
-    def update(self, volume_type, description):
-        """Update the description for a volume type.
+    def update(self, volume_type, name=None, description=None):
+        """Update the name and/or description for a volume type.
 
         :param volume_type: The ID of the :class:`VolumeType` to update.
+        :param name: Descriptive name of the volume type.
         :param description: Description of the the volume type.
         :rtype: :class:`VolumeType`
         """
 
         body = {
             "volume_type": {
+                "name": name,
                 "description": description
             }
         }