diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index 12c259c5676f92bceaf50941c27eed42f3cb5bf8..7c666829e3cd31f7581fe77424ba78679b2dae36 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -124,11 +124,13 @@ class Hxtorch(WafPackage):
                 print("libs: manually inserting at front ", self.spec['googletest'].prefix.lib)
                 library.insert(0, self.spec['googletest'].prefix.lib)
 
-        env.set('CPATH', ':'.join(include))
-        env.set('C_INCLUDE_PATH', ':'.join(include))
-        env.set('CPLUS_INCLUDE_PATH', ':'.join(include))
-        env.set('LIBRARY_PATH', ':'.join(library))
-        env.set('WAF_CONFIGURE_LD_LIBRARY_PATH', ':'.join(library))
+        for dir in reversed(include):
+            env.prepend_path('CPATH', dir)
+            env.prepend_path('C_INCLUDE_PATH', dir)
+            env.prepend_path('CPLUS_INCLUDE_PATH', dir)
+        for dir in reversed(library):
+            env.prepend_path('LIBRARY_PATH', dir)
+            env.prepend_path('WAF_CONFIGURE_LD_LIBRARY_PATH', dir)
         env.prepend_path('PATH', ':'.join(path))
 
     def _setup_common_env(self, env):
@@ -144,8 +146,9 @@ class Hxtorch(WafPackage):
             dep = self.spec[ppu_dep_name]
             dep_include_dirs = set(dep.headers.directories)
             ppu_include_dirs.extend(list(dep_include_dirs))
-        env.set('C_INCLUDE_PATH', ':'.join(ppu_include_dirs))
-        env.set('CPLUS_INCLUDE_PATH', ':'.join(ppu_include_dirs))
+        for dir in reversed(include):
+            env.prepend_path('C_INCLUDE_PATH', dir)
+            env.prepend_path('CPLUS_INCLUDE_PATH', dir)
 
     def setup_dependent_build_environment(self, env, dependent_spec):
         self._setup_common_env(env)
@@ -164,6 +167,8 @@ class Hxtorch(WafPackage):
         if 'SPACK_COMPILER_IMPLICIT_RPATHS' in env:
             env['LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['LIBRARY_PATH']
             env['WAF_CONFIGURE_LD_LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['WAF_CONFIGURE_LD_LIBRARY_PATH']
+            if 'LD_LIBRARY_PATH' in env:
+                env['WAF_CONFIGURE_LD_LIBRARY_PATH'] = env['WAF_CONFIGURE_LD_LIBRARY_PATH'] + ':' + env['LD_LIBRARY_PATH']
 
         self.waf('setup', '--repo-db-url=https://github.com/electronicvisions/projects',
             '--without-munge',
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index 833661bb75f2b235c49bdcbea8d447e1a0a07646..8e2089047e33e340e785d1edd0b571d63308959b 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -101,11 +101,13 @@ class PynnBrainscales(WafPackage):
             print("libs: manually adding ", self.spec['llvm'].prefix.lib)
             library.append(self.spec['llvm'].prefix.lib)
 
-        env.set('CPATH', ':'.join(include))
-        env.set('C_INCLUDE_PATH', ':'.join(include))
-        env.set('CPLUS_INCLUDE_PATH', ':'.join(include))
-        env.set('LIBRARY_PATH', ':'.join(library))
-        env.set('WAF_CONFIGURE_LD_LIBRARY_PATH', ':'.join(library))
+        for dir in reversed(include):
+            env.prepend_path('CPATH', dir)
+            env.prepend_path('C_INCLUDE_PATH', dir)
+            env.prepend_path('CPLUS_INCLUDE_PATH', dir)
+        for dir in reversed(library):
+            env.prepend_path('LIBRARY_PATH', dir)
+            env.prepend_path('WAF_CONFIGURE_LD_LIBRARY_PATH', dir)
         env.prepend_path('PATH', ':'.join(path))
 
     def _setup_common_env(self, env):
@@ -121,8 +123,9 @@ class PynnBrainscales(WafPackage):
             dep = self.spec[ppu_dep_name]
             dep_include_dirs = set(dep.headers.directories)
             ppu_include_dirs.extend(list(dep_include_dirs))
-        env.set('C_INCLUDE_PATH', ':'.join(ppu_include_dirs))
-        env.set('CPLUS_INCLUDE_PATH', ':'.join(ppu_include_dirs))
+        for dir in reversed(include):
+            env.prepend_path('C_INCLUDE_PATH', dir)
+            env.prepend_path('CPLUS_INCLUDE_PATH', dir)
 
     def setup_dependent_build_environment(self, env, dependent_spec):
         self._setup_common_env(env)
@@ -141,6 +144,8 @@ class PynnBrainscales(WafPackage):
         if 'SPACK_COMPILER_IMPLICIT_RPATHS' in env:
             env['LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['LIBRARY_PATH']
             env['WAF_CONFIGURE_LD_LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['WAF_CONFIGURE_LD_LIBRARY_PATH']
+            if 'LD_LIBRARY_PATH' in env:
+                env['WAF_CONFIGURE_LD_LIBRARY_PATH'] = env['WAF_CONFIGURE_LD_LIBRARY_PATH'] + ':' + env['LD_LIBRARY_PATH']
 
         self.waf('setup', '--repo-db-url=https://github.com/electronicvisions/projects',
             '--without-munge',