diff --git a/src/libstore/normalise.cc b/src/libstore/normalise.cc
index 62ffb981c9d9e219cb80fd8774c82b01c9f2adfe..ebdf7fdca2247af5a636ea0943de865f8f6e613e 100644
--- a/src/libstore/normalise.cc
+++ b/src/libstore/normalise.cc
@@ -1601,6 +1601,8 @@ void SubstitutionGoal::finished()
         return;
     }
 
+    makePathReadOnly(storePath);
+
     Transaction txn;
     createStoreTransaction(txn);
     registerValidPath(txn, storePath);