diff --git a/Ganeti/HTools/IAlloc.hs b/Ganeti/HTools/IAlloc.hs
index 679ce161b101d22138771429f9e5b5a808e79140..d0bfec69539d56df222012f5a496d20ab82c0871 100644
--- a/Ganeti/HTools/IAlloc.hs
+++ b/Ganeti/HTools/IAlloc.hs
@@ -80,8 +80,9 @@ parseNode :: String           -- ^ The node's name
 parseNode n a = do
   offline <- fromObj "offline" a
   drained <- fromObj "drained" a
+  guuid   <- fromObj "group" a
   node <- (if offline || drained
-           then return $ Node.create n 0 0 0 0 0 0 True defaultUUID
+           then return $ Node.create n 0 0 0 0 0 0 True guuid
            else do
              mtotal <- fromObj "total_memory" a
              mnode  <- fromObj "reserved_memory" a
@@ -90,7 +91,7 @@ parseNode n a = do
              dfree  <- fromObj "free_disk"    a
              ctotal <- fromObj "total_cpus"   a
              return $ Node.create n mtotal mnode mfree
-                    dtotal dfree ctotal False defaultUUID)
+                    dtotal dfree ctotal False guuid)
   return (n, node)
 
 -- | Top-level parser.