diff --git a/SConstruct b/SConstruct
index 9870f209c4af7cbfb98a64c662b6e4a67cc953af..8b1074eecc955a81e8fb0014171cd3ee4286b8d2 100644
--- a/SConstruct
+++ b/SConstruct
@@ -126,7 +126,7 @@ if not env.GetOption('clean') and not os.path.exists("local_config.hh"):
 # created later are correct
 
 if not env.GetOption('clean') and not os.path.exists(".prepare-stamp") \
-   and not os.environ.get("SCONS"):
+   and not os.environ.get("SCONS") and COMMAND_LINE_TARGETS != [ 'prepare' ]:
     env.Execute([ "scons prepare" ])
 
 env.Clean('all', '.prepare-stamp')
diff --git a/senfscons/BoostUnitTests.py b/senfscons/BoostUnitTests.py
index 09d340a82fa2fc6f421b0d435001b232d0af2e74..3733455dec7c6da25375c66ee11031c39ff56627 100644
--- a/senfscons/BoostUnitTests.py
+++ b/senfscons/BoostUnitTests.py
@@ -34,7 +34,7 @@ def BoostUnitTests(env, target, objects, test_sources=None, LIBS = [], OBJECTS =
     else:
         test_sources = []
     testEnv = env.Copy(**kw)
-    testEnv.Prepend(LIBS = '$BOOSTTESTLIB')
+    testEnv.Prepend(_LIBFLAGS = ' -Wl,-Bstatic -l$BOOSTTESTLIB -Wl,-Bdynamic ')
     testEnv.Prepend(LIBS = LIBS)
     all_objects = []
     if not objects:
diff --git a/senfscons/InstallIncludes.py b/senfscons/InstallIncludes.py
index d6fc72e6aea1351f2f93da13881fe62c077e9c6a..754dfccc843306ea635689873b368a686eaa77cf 100644
--- a/senfscons/InstallIncludes.py
+++ b/senfscons/InstallIncludes.py
@@ -7,6 +7,11 @@
 # \ingroup builder
 
 import SCons.Builder, SCons.Action, SCons.Environment, SCons.Node.FS
+try:
+    from SCons.Tool.install import installFunc, stringFunc
+except:
+    installFunc = SCons.Environment.installFunc
+    stringFunc = SCons.Environment.installString
 
 def recursiveChildren(f):
     rv = {}
@@ -45,11 +50,11 @@ class Installer:
         self.source = source
 
     def __call__(self, target, source, env):
-        SCons.Environment.installFunc([self.target], [self.source], env)
+        installFunc([self.target], [self.source], env)
 
 def generator(target, source, env, for_signature):
     return [ SCons.Action.Action( Installer(trg, src),
-                                  lambda a,b,c,s=SCons.Environment.installString([trg], [src], env):s )
+                                  lambda a,b,c,s=stringFunc([trg], [src], env):s )
              for trg, src in zip(target,source) ]
 
 InstallIncludes = SCons.Builder.Builder(emitter = emitter,
diff --git a/senfscons/SENFSCons.py b/senfscons/SENFSCons.py
index aa5efa2e93b36cebf592429b7047e3554db421ca..a93bab67df3084ea751f33e671cd39744d2ca0c5 100644
--- a/senfscons/SENFSCons.py
+++ b/senfscons/SENFSCons.py
@@ -148,9 +148,9 @@ def FinalizeBoost(env):
         if runtime: runtime = "-" + runtime
         env['BOOST_VARIANT'] = "-" + env['BOOST_TOOLSET'] + runtime
 
-    env['BOOSTTESTLIB'] = 'libboost_unit_test_framework' + env['BOOST_VARIANT']
-    env['BOOSTREGEXLIB'] = 'libboost_regex' + env['BOOST_VARIANT']
-    env['BOOSTFSLIB'] = 'libboost_filesystem' + env['BOOST_VARIANT']
+    env['BOOSTTESTLIB'] = 'boost_unit_test_framework' + env['BOOST_VARIANT']
+    env['BOOSTREGEXLIB'] = 'boost_regex' + env['BOOST_VARIANT']
+    env['BOOSTFSLIB'] = 'boost_filesystem' + env['BOOST_VARIANT']
 
     env.Append(LIBPATH = [ '$BOOST_LIBDIR' ],
                CPPPATH = [ '$BOOST_INCLUDES' ])