diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc
index b5020a506beb3f73f4e6a97c72fab4a1be8159ca..b415d5421476611ead80730f609f7318e4dac7f1 100644
--- a/src/libstore/gc.cc
+++ b/src/libstore/gc.cc
@@ -366,7 +366,7 @@ try_again:
     char buf[bufsiz];
     auto res = readlink(file.c_str(), buf, bufsiz);
     if (res == -1) {
-        if (errno == ENOENT || errno == EACCES)
+        if (errno == ENOENT || errno == EACCES || errno == ESRCH)
             return;
         throw SysError("reading symlink");
     }