diff --git a/lib/dunemodules.lib b/lib/dunemodules.lib
index 1ede7b15a77377cf2e7ac0c55d0e006702ef2ba0..332692003c7adac7271b3474e31a57b49b366829 100644
--- a/lib/dunemodules.lib
+++ b/lib/dunemodules.lib
@@ -260,6 +260,14 @@ _check_deps()
   local module="$1"
   local mode="$2"
   local depmode="$3"
+  local report="ERROR"
+  local requires="requires"
+  local required="required"
+  if test "x$mode" = "xSUGS"; then
+    report="WARNING"
+    requires="suggests"
+    required="suggested"
+  fi
   eval deps=\$${mode}_$module
   #initially remove leading space
   deps=`echo ${deps//^[, ]}`
@@ -288,28 +296,40 @@ _check_deps()
     if test "x$(eval echo \$HAVE_$dep)" != "x"; then
       eval ver=\$VERS_$dep
       if test "$SKIPVERSIONCHECK" != "yes" && ! check_version "$ver" "$depver"; then
-        echo "ERROR: version mismatch." >&2
-        echo "       $modname requires $name $depver," >&2
+        echo "$report: version mismatch." >&2
+        echo "       $modname $requires $name $depver," >&2
         echo "       but only $name = $ver is available." >&2
-        exit 1
+        if test "x$mode" = "xDEPS"; then
+          exit 1
+        else
+          return 0;
+        fi
       fi
       _sort_module $dep $depmode
     else
       # perhaps this module is installed,
       # then it should be handled via pkg-config
       if ! pkg-config $name; then
-        echo "ERROR: could not find module $name," >&2
+        echo "$report: could not find module $name," >&2
         echo "       module is also unknown to pkg-config." >&2
         echo "       Maybe you need to adjust PKG_CONFIG_PATH!" >&2
-        echo "       $name is required by $modname" >&2
-        exit 1
+        echo "       $name is $required by $modname" >&2
+        if test "x$mode" = "xDEPS"; then
+          exit 1
+        else
+          return 0;
+        fi
       else
         eval ver=$(pkg-config $name --modversion)
         if test "$SKIPVERSIONCHECK" != "yes" && ! check_version "$ver" "$depver"; then
-          echo "ERROR: version mismatch." >&2
-          echo "       $modname requires $name $depver," >&2
+          echo "$report: version mismatch." >&2
+          echo "       $modname $requires $name $depver," >&2
           echo "       but only $name = $ver is installed." >&2
-          exit 1
+          if test "x$mode" = "xDEPS"; then
+            exit 1
+          else
+            return 0;
+          fi
         fi
         # update module list
         parse_control $(pkg-config $name --variable=prefix)/lib/dunecontrol/$name/dune.module