diff --git a/Ganeti/HTools/IAlloc.hs b/Ganeti/HTools/IAlloc.hs
index 801243b9a34c173a7bb07d291840d89b051f35e0..5063b9ab8798e5f92557f13d4d46ac409eda7ae1 100644
--- a/Ganeti/HTools/IAlloc.hs
+++ b/Ganeti/HTools/IAlloc.hs
@@ -78,7 +78,7 @@ parseNode n a = do
     let name = n
     offline <- fromObj "offline" a
     drained <- fromObj "drained" a
-    node <- (if offline
+    node <- (if offline || drained
              then return $ Node.create name 0 0 0 0 0 0 True
              else do
                mtotal <- fromObj "total_memory" a
@@ -88,7 +88,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 (offline || drained))
+                      dtotal dfree ctotal False)
     return (name, node)
 
 -- | Top-level parser.