diff --git a/bin/dunecontrol b/bin/dunecontrol
index db11db1107b3cfa00caed7990859ea531be39335..67c93fdc9d4b7213b561dc5c51370aa92234a565 100755
--- a/bin/dunecontrol
+++ b/bin/dunecontrol
@@ -616,7 +616,7 @@ m4_define([DUNE_AC_INIT],[
   DUNE_PARSE_MODULE_VERSION([$name], [$version])
   # don't build shared libs per default, this is way better for debugging...
   m4_ifdef([LT_INIT],
-    [LT_INIT],
+    [LT_INIT([disable-shared])],
     [AC_DEFUN([LT_OUTPUT])])
   AC_DISABLE_SHARED
 
@@ -632,7 +632,6 @@ AC_DEFUN([DUNE_CHECK_MOD_DEPENDENCIES], [
   AC_REQUIRE([AC_PROG_CXXCPP])
   AC_REQUIRE([AC_PROG_LIBTOOL])
   m4_ifdef([AC_LIBTOOL_LANG_CXX_CONFIG],[AC_LIBTOOL_LANG_CXX_CONFIG])
-  AC_REQUIRE([LT_OUTPUT])
 EOF
       ### initialize AM_CONDITIONAL for suggestions that were not found
       for name in $(eval echo \$SUGS_$mainmod); do
diff --git a/m4/dune.m4 b/m4/dune.m4
index 7bdaeb62440f2bf3db80ea7086ceea7739565fc1..a54f4cb33b780e4a1435eb5ab6b57221f0df1f9d 100644
--- a/m4/dune.m4
+++ b/m4/dune.m4
@@ -62,6 +62,7 @@ AC_DEFUN([DUNE_CHECK_MODULES],[
   AC_REQUIRE([AC_PROG_CXXCPP])
   AC_REQUIRE([PKG_PROG_PKG_CONFIG])
   AC_REQUIRE([DUNE_DISABLE_LIBCHECK])
+  AC_REQUIRE([LT_OUTPUT])
 
   # ____DUNE_CHECK_MODULES_____ ($1)
 
@@ -189,7 +190,7 @@ AC_DEFUN([DUNE_CHECK_MODULES],[
       CXX="$LTCXXLINK"
 
       # use module LDFLAGS
-      LDFLAGS="$LDFLAGS $DUNE_LDFLAGS $_DUNE_MODULE[]_LDFLAGS"
+      LDFLAGS="$LDFLAGS $DUNE_PKG_LDFLAGS $_DUNE_MODULE[]_LDFLAGS"
       LIBS="$DUNE_LIBS $_DUNE_MODULE[]_LIBS"
 
       AC_MSG_CHECKING([for lib[]_dune_lib])