diff --git a/scripts/nix-push.in b/scripts/nix-push.in
index b5899e45839aaabbca772a1bfcd07c0d35d0b4ae..356fe19522072b1ba91956a1460ce402083a8e5a 100644
--- a/scripts/nix-push.in
+++ b/scripts/nix-push.in
@@ -139,7 +139,12 @@ for (my $n = 0; $n < scalar @storepaths; $n++) {
         while (<PREDS>) {
             chomp;
             die unless (/^\//);
-            print MANIFEST "  SuccOf: $_\n";
+            my $pred = $_;
+            # Only include predecessors that are themselves being
+            # pushed.
+            if (defined $storepaths{$pred}) {
+                print MANIFEST "  SuccOf: $pred\n";
+            }
         }
         close PREDS;
     }