diff --git a/lib/masterd/iallocator.py b/lib/masterd/iallocator.py
index e86097dc565b0314b5c4f786bd795add9e52c715..71b83d68e5ec8cd091321b3a4da0183e8eee146c 100644
--- a/lib/masterd/iallocator.py
+++ b/lib/masterd/iallocator.py
@@ -195,7 +195,7 @@ class IAReqInstanceAlloc(IARequestBase):
     """
     IARequestBase.ValidateResult(self, ia, result)
 
-    if len(result) != self.RequiredNodes():
+    if ia.success and len(result) != self.RequiredNodes():
       raise errors.ResultValidationError("iallocator returned invalid number"
                                          " of nodes (%s), required %s" %
                                          (len(result), self.RequiredNodes()))