diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index ab8cf39fb8f1cd1bb6bd44a7c96c64bac450bd80..f0b6dba683864212cc52076947c4b6d5d3d6ea0d 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -577,12 +577,10 @@ def _GetWantedNodes(lu, nodes):
   @raise errors.ProgrammerError: if the nodes parameter is wrong type
 
   """
-  if not nodes:
-    raise errors.ProgrammerError("_GetWantedNodes should only be called with a"
-      " non-empty list of nodes whose name is to be expanded.")
+  if nodes:
+    return [_ExpandNodeName(lu.cfg, name) for name in nodes]
 
-  wanted = [_ExpandNodeName(lu.cfg, name) for name in nodes]
-  return utils.NiceSort(wanted)
+  return utils.NiceSort(lu.cfg.GetNodeList())
 
 
 def _GetWantedInstances(lu, instances):