diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index e0eb702a4f8214fbb820d160eb9e4637773832be..1c9815a87bf6dc9bb212f1f95b3d7e61a3beaa9c 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -3466,7 +3466,7 @@ void Worker::childTerminated(Goal * goal, bool wakeSleepers)
 {
     auto i = std::find_if(children.begin(), children.end(),
         [&](const Child & child) { return child.goal2 == goal; });
-    assert(i != children.end());
+    if (i == children.end()) return;
 
     if (i->inBuildSlot) {
         assert(nrLocalBuilds > 0);