diff --git a/bin/dunecontrol b/bin/dunecontrol
index 9a6cb35d2ba0ebe20810aacafa2e22c532ddd248..ce09ae2646006035685f517753d1ba0b13c20bb8 100755
--- a/bin/dunecontrol
+++ b/bin/dunecontrol
@@ -143,7 +143,7 @@ build_module() {
       set -e
       cd "$path"
       export module
-      eval_control $runcommand $path/$(eval eval echo \$CONTROL_$module)
+      eval_control $runcommand $path/$CONTROL
     ); then eval echo "--- Failed to build \$NAME_${module} ---"; exit 1; fi
 	trap onfailure EXIT
 	
diff --git a/lib/dunemodules.lib b/lib/dunemodules.lib
index 3c53990dab32911091a81f5628c4a5ff021bc62c..203e6a29c22023e1a9ee8fc1932c23255b431235 100644
--- a/lib/dunemodules.lib
+++ b/lib/dunemodules.lib
@@ -69,11 +69,9 @@ parse_control() {
   # - source module: ${path}/dune.module
   #   and there is a file ${path}/${name}.pc.in
   local path="$(canonicalpath "$1")"
-  if test -f $path/$CONTROL -a \
-      -f $path/../../../lib/dunecontrol/${name}/$CONTROL; then
+  if test -f $path/../../pkgconfig/${name}.pc; then
 	  path=$(canonicalname "$path/../../../")
       export module_inst="yes"
-      export CONTROL_${module}=lib/dunecontrol/${name}/$CONTROL
   fi
   if ! check_modname "$module"; then
     echo "ERROR: $CONTROL files $1 contains an invalid Module entry" >&2