diff --git a/shelly.cabal b/shelly.cabal
--- a/shelly.cabal
+++ b/shelly.cabal
@@ -1,6 +1,6 @@
 Name:       shelly
 
-Version:     1.5.0.1
+Version:     1.5.1
 Synopsis:    shell-like (systems) programming in Haskell
 
 Description: Shelly provides convenient systems programming in Haskell,
diff --git a/src/Shelly.hs b/src/Shelly.hs
--- a/src/Shelly.hs
+++ b/src/Shelly.hs
@@ -307,9 +307,13 @@
         mExe <- which exe
         case mExe of
           Just execFp -> return execFp
-#if defined(mingw32_HOST_OS)
           -- windows looks in extra places besides the PATH, so just give
           -- up even if the behavior is not properly specified anymore
+          --
+          -- non-Windows < 7.6 has a bug for read-only file systems
+          -- https://github.com/yesodweb/Shelly.hs/issues/56
+          -- it would be better to specifically detect that bug
+#if defined(mingw32_HOST_OS) || (defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 706)
           Nothing -> return fp
 #else
           Nothing -> liftIO $ throwIO $ userError $
