diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc
index 33a9bc61428507f61195bedcc287d4ca8300dae8..60f22a2033f13d2f164080842669b5a193d745da 100644
--- a/src/libexpr/eval.cc
+++ b/src/libexpr/eval.cc
@@ -308,7 +308,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();