diff --git a/lib/jstore.py b/lib/jstore.py
index 7424b7b7f6f5df9c4c47de6f68e80c036412291e..4d9189e39eee121bd861a713a20116f2387ba904 100644
--- a/lib/jstore.py
+++ b/lib/jstore.py
@@ -134,6 +134,11 @@ def InitAndVerifyQueue(must_lock):
         # There must be a serious problem
         raise errors.JobQueueError("Can't read/parse the job queue serial file")
 
+      if not must_lock:
+        # There's no need for more error handling. Closing the lock file below in
+        # case of an error will unlock it anyway.
+        queue_lock.Unlock()
+
   except:
     queue_lock.Close()
     raise