diff --git a/README.md b/README.md
index 0beca06840ecb12f3e3a9a8772ff0f8ee45f32b4..6c413b3c581db5fe57f8e8e8263f375ccd2bedb5 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,6 @@ pip install ogscm
 
 If you build images with Docker (`--build`-parameter, see below) you need to make sure that you have [setup Docker to be runnable without `sudo`](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)!
 
-
 Apple ARM specific:
 
 ```bash
@@ -208,7 +207,7 @@ ogs.py:
   --dev                 Installs development tools (vim, gdb) (default: False)
   --mkl                 Use MKL. By setting this option, you agree to the [Intel End User License Agreement](https://software.intel.com/en-us/articles/end-user-license-agreement). (default: False)
   --petsc_configure_args PETSC_CONFIGURE_ARGS
-                        PETSc configuration arguments; has to be quoted. (default: --with-fc=0 --download-f2cblaslapack=1)
+                        PETSc configuration arguments; has to be quoted. (default: --with-fc=0)
   --version_file VERSION_FILE
                         OGS versions.json file (default: None)
   --boost-sourceforge   Boolean flag to specify whether Boost should be downloaded from SourceForge rather than the current Boost repository. (default: False)
@@ -237,7 +236,6 @@ ogscm compiler.py ogs.py -B -C -R --ogs [path to ogs sources]
 - `host` has to be a SSH host to which you have passwordless access
 - Deploy to the host with `... -D myhost`
 
-
 ## PyPi Publication
 
 - Bump version in `pyproject.py` and run `poetry install`
diff --git a/ogscm/recipes/ogs.py b/ogscm/recipes/ogs.py
index 1293bb313b9e47179512b41900733b3a5e19b7a9..dcbcb5c9470733956221a98a9be4d1717682adb8 100644
--- a/ogscm/recipes/ogs.py
+++ b/ogscm/recipes/ogs.py
@@ -138,7 +138,7 @@ if toolchain.CC == "mpicc":
     parse_g.add_argument(
         "--petsc_configure_args",
         type=str,
-        default="--with-fc=0 --download-f2cblaslapack=1",
+        default="--with-fc=0",
         help="PETSc configuration arguments; has to be quoted.",
     )
 parse_g.add_argument("--version_file", type=str, help="OGS versions.json file")
@@ -497,14 +497,20 @@ if local_args.ogs != "clean":
                 "--CXXFLAGS='-O3'",
                 "--FFLAGS='-O3'",
                 "--with-debugging=no",
+                "--download-f2cblaslapack=./f2cblaslapack-3.4.2.q4.tar.gz",
             ]
+            # TODO: remove last line and wget in preconfigure when upgrading
+            # to PETSc > 3.18
             petsc_configure_opts.extend(petsc_args)
             Stage0 += generic_autotools(
                 configure_opts=petsc_configure_opts,
-                devel_environment={"PETSC_DIR": "/usr/local/petsc"},
+                devel_environment={"CMAKE_PREFIX_PATH": "/usr/local/petsc"},
                 directory=f"petsc-{petsc_version}",
                 ldconfig=True,
-                preconfigure=["sed -i -- 's/python/python3/g' configure"],
+                preconfigure=[
+                    "wget http://ftp.mcs.anl.gov/pub/petsc/externalpackages/f2cblaslapack-3.4.2.q4.tar.gz",
+                    "sed -i -- 's/python/python3/g' configure",
+                ],
                 prefix="/usr/local/petsc",
                 toolchain=toolchain,
                 url=f"http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-{petsc_version}.tar.gz",
@@ -621,7 +627,8 @@ if local_args.mfront and local_args.pm == "system":
     cmake_args.append("-DOGS_USE_MFRONT=ON")
 
 # Used to fix RPATH in petsc.so build as external dependency
-Stage0 += packages(ospackages=["patchelf"])
+# pkg-config for PETSc finding
+Stage0 += packages(ospackages=["patchelf", "pkg-config"])
 
 if local_args.ccache:
     Stage0 += ccache(cache_size="15G")