Index: src/unittests/ActionSequenceTest.cpp
===================================================================
--- src/unittests/ActionSequenceTest.cpp	(revision 047878507f119431554d5b20d04f22722ba5bbed)
+++ src/unittests/ActionSequenceTest.cpp	(revision 112f90d8bcaa5639e2da0aacacc5b07896bbb981)
@@ -16,4 +16,6 @@
 #include "Actions/ActionHistory.hpp"
 #include "Actions/ActionRegistry.hpp"
+
+#include "DummyUI.hpp"
 
 #ifdef HAVE_TESTRUNNER
@@ -121,5 +123,12 @@
 
 void ActionSequenceTest::setUp(){
+  static bool hasDescriptor = false;
   ActionHistory::init();
+  // TODO: find a way to really reset the factory to a clean state in tear-down
+  if(!hasDescriptor){
+    UIFactory::registerFactory(new DummyUIFactory::description());
+    hasDescriptor = true;
+  }
+  UIFactory::makeUserInterface("Dummy");
   // create some necessary stubs used in this test
   positive1 = new canUndoActionStub();
@@ -148,4 +157,5 @@
   ActionHistory::purgeInstance();
   ActionRegistry::purgeInstance();
+  UIFactory::purgeInstance();
 }
 
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision 047878507f119431554d5b20d04f22722ba5bbed)
+++ src/unittests/Makefile.am	(revision 112f90d8bcaa5639e2da0aacacc5b07896bbb981)
@@ -7,8 +7,6 @@
 AM_CXXFLAGS = $(CPPUNIT_CFLAGS)
 
-MENUTESTS = \
-  ActionSequenceTest
-
 TESTS = \
+  ActionSequenceTest \
   ActOnAllUnitTest \
   AnalysisBondsUnitTests \
@@ -44,6 +42,5 @@
   Tesselation_BoundaryTriangleUnitTest \
   Tesselation_InOutsideUnitTest \
-  VectorUnitTest \
-  ${MENUTESTS}
+  VectorUnitTest
   
   
@@ -52,5 +49,5 @@
 
 GSLLIBS = ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB}
-ALLLIBS = ../libmolecuilder.a ../UIElements/libMolecuilderUI.a ${GSLLIBS} 
+ALLLIBS = ../libmolecuilder.a ${GSLLIBS} 
 PARSERLIBS = ../libparser.a ${ALLLIBS} 
 
@@ -128,6 +125,6 @@
   
 
-ActionSequenceTest_SOURCES = UnitTestMain.cpp ../../../TestRunnerClient.hpp ActionSequenceTest.cpp ActionSequenceTest.hpp
-ActionSequenceTest_LDADD = ${ALLLIBS}
+ActionSequenceTest_SOURCES = UnitTestMain.cpp ActionSequenceTest.cpp ActionSequenceTest.hpp $(srcdir)/../version.c
+ActionSequenceTest_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions.a ../libmolecuilder.a ../libparser.a ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 ActOnAllUnitTest_SOURCES = UnitTestMain.cpp ../test/ActOnAllTest.hpp ActOnAllUnitTest.cpp ActOnAllUnitTest.hpp
@@ -191,6 +188,6 @@
 LogUnitTest_LDADD = ${ALLLIBS}
 
-manipulateAtomsTest_SOURCES = UnitTestMain.cpp manipulateAtomsTest.cpp manipulateAtomsTest.hpp
-manipulateAtomsTest_LDADD = ${ALLLIBS}
+manipulateAtomsTest_SOURCES = UnitTestMain.cpp manipulateAtomsTest.cpp manipulateAtomsTest.hpp $(srcdir)/../version.c
+manipulateAtomsTest_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions.a ../libmolecuilder.a ../libparser.a ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 MatrixUnittest_SOURCES = UnitTestMain.cpp MatrixUnittest.cpp MatrixUnittest.hpp
@@ -230,6 +227,6 @@
 Tesselation_InOutsideUnitTest_LDADD = ${ALLLIBS}
 
-TestRunner_SOURCES = TestRunnerMain.cpp $(TESTSOURCES) $(TESTHEADERS)
-TestRunner_LDADD = ${ALLLIBS}
+TestRunner_SOURCES = TestRunnerMain.cpp $(srcdir)/../version.c $(TESTSOURCES) $(TESTHEADERS)
+TestRunner_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions.a ../libmolecuilder.a ../libparser.a ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 VectorUnitTest_SOURCES = UnitTestMain.cpp vectorunittest.cpp vectorunittest.hpp 
Index: src/unittests/manipulateAtomsTest.cpp
===================================================================
--- src/unittests/manipulateAtomsTest.cpp	(revision 047878507f119431554d5b20d04f22722ba5bbed)
+++ src/unittests/manipulateAtomsTest.cpp	(revision 112f90d8bcaa5639e2da0aacacc5b07896bbb981)
@@ -22,4 +22,6 @@
 #include "World.hpp"
 #include "atom.hpp"
+
+#include "DummyUI.hpp"
 
 #ifdef HAVE_TESTRUNNER
@@ -72,6 +74,13 @@
 // set up and tear down
 void manipulateAtomsTest::setUp(){
+  static bool hasDescriptor = false;
   ActionHistory::init();
   World::getInstance();
+  // TODO: find a way to really reset the factory to a clean state in tear-down
+  if(!hasDescriptor){
+    UIFactory::registerFactory(new DummyUIFactory::description());
+    hasDescriptor = true;
+  }
+  UIFactory::makeUserInterface("Dummy");
   for(int i=0;i<ATOM_COUNT;++i){
     atoms[i]= new AtomStub(i);
@@ -83,4 +92,5 @@
   ActionRegistry::purgeInstance();
   ActionHistory::purgeInstance();
+  UIFactory::purgeInstance();
 }
 
