diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc
index 2144d34525794d5ff1f53d1a614d8fca3f1679e7..63afccbec188ddfb1baaac820f890bf7bdbb7227 100644
--- a/src/libexpr/eval.cc
+++ b/src/libexpr/eval.cc
@@ -313,7 +313,7 @@ EvalState::EvalState(const Strings & _searchPath, ref<Store> store)
         for (auto & i : _searchPath) addToSearchPath(i);
         for (auto & i : paths) addToSearchPath(i);
     }
-    addToSearchPath("nix=" + settings.nixDataDir + "/nix/corepkgs");
+    addToSearchPath("nix=" + canonPath(settings.nixDataDir + "/nix/corepkgs"));
 
     if (settings.restrictEval || settings.pureEval) {
         allowedPaths = PathSet();