diff --git a/src/Hydra/lib/Hydra/Controller/Build.pm b/src/Hydra/lib/Hydra/Controller/Build.pm
index 0f6dc06f..41f5d52b 100644
--- a/src/Hydra/lib/Hydra/Controller/Build.pm
+++ b/src/Hydra/lib/Hydra/Controller/Build.pm
@@ -116,10 +116,10 @@ sub nix : Chained('build') PathPart('nix') CaptureArgs(0) {
 
     my $build = $c->stash->{build};
 
-    error($c, "Build cannot be downloaded as a closure or Nix package.")
+    notFound($c, "Build cannot be downloaded as a closure or Nix package.")
         if !$build->buildproducts->find({type => "nix-build"});
 
-    error($c, "Path " . $build->outpath . " is no longer available.")
+    notFound($c, "Path " . $build->outpath . " is no longer available.")
         unless isValidPath($build->outpath);
     
     $c->stash->{storePaths} = [$build->outpath];
diff --git a/src/Hydra/lib/Hydra/Controller/Root.pm b/src/Hydra/lib/Hydra/Controller/Root.pm
index 8314bfd3..3ede1f10 100644
--- a/src/Hydra/lib/Hydra/Controller/Root.pm
+++ b/src/Hydra/lib/Hydra/Controller/Root.pm
@@ -552,6 +552,8 @@ sub nix : Chained('/') PathPart('nix') CaptureArgs(0) {
 
     my @storePaths = ();
     foreach my $build (@builds) {
+        # !!! better do this in getLatestBuilds with a join.
+        next unless $build->buildproducts->find({type => "nix-build"}); 
         push @storePaths, $build->outpath if isValidPath($build->outpath);
     };
 
diff --git a/src/Hydra/lib/Hydra/View/NixManifest.pm b/src/Hydra/lib/Hydra/View/NixManifest.pm
index cc4d1ab2..2a147f65 100644
--- a/src/Hydra/lib/Hydra/View/NixManifest.pm
+++ b/src/Hydra/lib/Hydra/View/NixManifest.pm
@@ -17,7 +17,7 @@ sub process {
 
     my $manifest =
         "version {\n" .
-        "  ManifestVersion: 3\n" .
+        "  ManifestVersion: 4\n" .
         "}\n";
     
     foreach my $path (@paths) {