diff --git a/novaclient/v1_1/shell.py b/novaclient/v1_1/shell.py
index fbb2009b4..77743deaa 100644
--- a/novaclient/v1_1/shell.py
+++ b/novaclient/v1_1/shell.py
@@ -358,12 +358,13 @@ def do_flavor_list(cs, _args):
     _print_flavor_list(cs, flavors)
 
 
-@utils.arg('id',
-     metavar='<id>',
-     help="Unique ID of the flavor to delete")
+@utils.arg('flavor',
+    metavar='<flavor>',
+    help="Name or ID of the flavor to delete")
 def do_flavor_delete(cs, args):
     """Delete a specific flavor"""
-    cs.flavors.delete(args.id)
+    flavorid = _find_flavor(cs, args.flavor)
+    cs.flavors.delete(flavorid)
 
 
 @utils.arg('flavor',
@@ -803,12 +804,12 @@ def do_image_delete(cs, args):
     dest='flavor',
     metavar='<flavor>',
     default=None,
-    help='Search by flavor ID')
+    help='Search by flavor name or ID')
 @utils.arg('--image',
     dest='image',
     metavar='<image>',
     default=None,
-    help='Search by image ID')
+    help='Search by image name or ID')
 @utils.arg('--host',
     dest='host',
     metavar='<hostname>',
@@ -836,14 +837,20 @@ def do_image_delete(cs, args):
     help='Display information from single tenant (Admin only).')
 def do_list(cs, args):
     """List active servers."""
+    imageid = None
+    flavorid = None
+    if args.image:
+        imageid = _find_image(cs, args.image).id
+    if args.flavor:
+        flavorid = _find_flavor(cs, args.flavor).id
     search_opts = {
             'all_tenants': args.all_tenants,
             'reservation_id': args.reservation_id,
             'ip': args.ip,
             'ip6': args.ip6,
             'name': args.name,
-            'image': args.image,
-            'flavor': args.flavor,
+            'image': imageid,
+            'flavor': flavorid,
             'status': args.status,
             'project_id': args.tenant,
             'host': args.host,
diff --git a/tests/v1_1/fakes.py b/tests/v1_1/fakes.py
index 3eeabf702..5d0f72a41 100644
--- a/tests/v1_1/fakes.py
+++ b/tests/v1_1/fakes.py
@@ -544,6 +544,9 @@ class FakeHTTPClient(base_client.HTTPClient):
     def delete_flavors_flavordelete(self, **kw):
         return (202, None)
 
+    def delete_flavors_2(self, **kw):
+        return (202, None)
+
     def post_flavors(self, body, **kw):
         return (202, {'flavor': self.get_flavors_detail()[1]['flavors'][0]})
 
diff --git a/tests/v1_1/test_shell.py b/tests/v1_1/test_shell.py
index 7dee87941..12b13c907 100644
--- a/tests/v1_1/test_shell.py
+++ b/tests/v1_1/test_shell.py
@@ -468,8 +468,8 @@ class ShellTest(utils.TestCase):
                            'detailed=1')
 
     def test_flavor_delete(self):
-        self.run_command("flavor-delete flavordelete")
-        self.assert_called('DELETE', '/flavors/flavordelete')
+        self.run_command("flavor-delete 2")
+        self.assert_called('DELETE', '/flavors/2')
 
     def test_flavor_create(self):
         self.run_command("flavor-create flavorcreate "