about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/normalise.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstore/normalise.cc b/src/libstore/normalise.cc
index 6fc3bdfc337a..a6bac62bf3ef 100644
--- a/src/libstore/normalise.cc
+++ b/src/libstore/normalise.cc
@@ -1254,6 +1254,7 @@ void RealisationGoal::init()
     trace("init");
 
     if (querySuccessor(nePath, nfPath)) {
+        nrFailed = 0;
         isNormalised();
         return;
     }
@@ -1277,6 +1278,11 @@ void RealisationGoal::isNormalised()
 {
     trace("has been normalised");
 
+    if (nrFailed != 0) {
+        amDone(false);
+        return;
+    }
+
     nfPath = queryNormalForm(nePath);
 
     /* Now make sure that the store expression exists.  If it doesn't,