diff --git a/spack_repo/packages/icon-nwp/package.py b/spack_repo/packages/icon-nwp/package.py
index fb99420ef5ada3e3799479b4d9cc1ac33d5725e4..2071ad89e4d1193032e23cbf6298eac3912a53b6 100644
--- a/spack_repo/packages/icon-nwp/package.py
+++ b/spack_repo/packages/icon-nwp/package.py
@@ -59,9 +59,9 @@ class IconNwp(Package):
     depends_on("netcdf-fortran")
     depends_on("eccodes+fortran")
     depends_on("libxml2")
+    depends_on("libfyaml")
 
     depends_on("petsc", when="@psp")
-    depends_on("libfyaml", when="@psp")
     depends_on("petsc", when="+petsc")
     depends_on("tenstream", when="@plexrt")
     depends_on("tenstream", when="+plexrt")
@@ -115,6 +115,7 @@ class IconNwp(Package):
             f"-L{spec['netcdf-fortran'].prefix.lib} -lnetcdff",  # netcdf-fortran libs
             f"-L{spec['eccodes'].prefix.lib} -leccodes_f90 -leccodes",
             f"-L{spec['libxml2'].prefix.lib} -lxml2",  # XML2 libs
+            f"-L{spec['libfyaml'].prefix.lib} -lfyaml",  # libfyaml libs.
         ]
 
         if self.spec.satisfies("%gcc"):
@@ -122,8 +123,6 @@ class IconNwp(Package):
         elif self.spec.satisfies("%intel"):
             libs.append("-qmkl=sequential")
 
-        if self.spec.satisfies('@psp'):
-            libs.append("-lfyaml")
         mtune = "generic"
         CPPFLAGS = []