diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index c61bc4d5521f9a4f49bbd03fdfa3dae5ecd9fa85..0e1e5827e37d20f3e988ee6330b5b18e00d636ed 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -721,12 +721,17 @@ def _ReleaseLocks(lu, level, names=None, keep=None):
   else:
     should_release = None
 
-  if should_release:
+  owned = lu.owned_locks(level)
+  if not owned:
+    # Not owning any lock at this level, do nothing
+    pass
+
+  elif should_release:
     retain = []
     release = []
 
     # Determine which locks to release
-    for name in lu.owned_locks(level):
+    for name in owned:
       if should_release(name):
         release.append(name)
       else: