diff --git a/satscons/BoostUnitTests.py b/satscons/BoostUnitTests.py
index 348826fe4615a11da82ce2fa734acf38c6827751..4c3d447281700d66171f43de73a206b40a305c04 100644
--- a/satscons/BoostUnitTests.py
+++ b/satscons/BoostUnitTests.py
@@ -19,10 +19,11 @@ def BoostUnitTests(env, target, source, test_source=None, LIBS = [], DEPENDS = [
     sources = sources + test_source
     binName = os.path.join(path,'.' + os.path.splitext(name)[0]+'.bin')
     testRunner = testEnv.Program(binName, sources)
+    stamp = os.path.join(path,'.' + os.path.splitext(name)[0]+'.stamp')
     if DEPENDS:
         env.Depends(testRunner, DEPENDS)
-    return env.Command(target, testRunner,
-                       [ './$SOURCE $BOOSTTESTARGS | tee  $TARGET' ])
+    return env.Command([ target, stamp ], testRunner,
+                       [ '( $SOURCE $BOOSTTESTARGS 2>&1 && touch ${TARGETS[1]} ) | tee ${TARGETS[0]}' ])
 
 def dispatcher(*arg,**kw):
     return BoostUnitTests(*arg,**kw)