diff -Nru fuppes-0.660/src/lib/libmain.cpp src/src/lib/libmain.cpp
--- fuppes-0.660/src/lib/libmain.cpp	2009-12-20 21:26:29.000000000 +0100
+++ src/src/lib/libmain.cpp	2010-12-22 23:08:25.277026567 +0100
@@ -101,6 +101,7 @@
   string sFriendlyName;
   string sLogFileName;
 	string sTempDir;
+  string sUuidFileName;
   int    nLogLevel = 1;
   string sPluginDir;
   
@@ -139,7 +140,9 @@
     else if((strcmp(argv[i], "--log-file") == 0) && (argc > i + 1)) {
       sLogFileName = argv[i + 1];
     }
-    
+    else if ((strcmp(argv[i], "--uuid-file") == 0) && (argc > i + 1)) {
+      sUuidFileName = argv[i + 1];
+    }
     else if((strcmp(argv[i], "--plugin-dir") == 0) && (argc > i + 1)) {
       sPluginDir = argv[i + 1];
     }
@@ -155,6 +158,7 @@
   CSharedConfig::Shared()->FriendlyName(sFriendlyName);
 	CSharedConfig::Shared()->TempDir(sTempDir);
 	CSharedConfig::Shared()->pluginDir(sPluginDir);    
+	CSharedConfig::Shared()->uuidFile(sUuidFileName);
 
 	xmlInitParser();
 
diff -Nru fuppes-0.660/src/lib/SharedConfig.cpp src/src/lib/SharedConfig.cpp
--- fuppes-0.660/src/lib/SharedConfig.cpp	2009-12-20 21:26:29.000000000 +0100
+++ src/src/lib/SharedConfig.cpp	2010-12-22 22:59:59.586935240 +0100
@@ -131,7 +131,10 @@
     m_sConfigDir = string(getenv("HOME")) + "/.fuppes/";
     #endif  
   }
-		
+
+  if (m_uuidFile.empty()) {
+          m_uuidFile = m_sConfigDir + "uuid.txt";
+  }
   // build file names
   if(m_sConfigFileName.empty()) {
     m_sConfigFileName = m_sConfigDir + "fuppes.cfg";
@@ -266,7 +269,7 @@
 {
 	if(m_sUUID.empty()) {
 		if(m_pConfigFile->useFixedUUID()) {
-			m_sUUID = GenerateUUID(m_sConfigDir + "uuid.txt");
+			m_sUUID = GenerateUUID(m_uuidFile);
 		}
 		else {
 			m_sUUID = GenerateUUID();
diff -Nru fuppes-0.660/src/lib/SharedConfig.h src/src/lib/SharedConfig.h
--- fuppes-0.660/src/lib/SharedConfig.h	2009-12-04 09:25:31.000000000 +0100
+++ src/src/lib/SharedConfig.h	2010-12-22 22:59:01.077088128 +0100
@@ -110,6 +110,9 @@
 		void pluginDir(std::string dir) { m_pluginDir = appendTrailingSlash(dir); }
 		std::string pluginDir() { return m_pluginDir; }
 	
+		void uuidFile(std::string uuidFile) { m_uuidFile = uuidFile; }
+		std::string uuidFile() { return m_uuidFile; }
+
     // shared dir
     int SharedDirCount();
     std::string GetSharedDir(int p_nIdx);  
@@ -175,6 +178,7 @@
     std::string   m_sTempDir;
 		std::string		m_dataDir;
 		std::string		m_pluginDir;
+		std::string   m_uuidFile;
     unsigned int  m_nHTTPPort;
 
     std::vector<CFuppes*> m_vFuppesInstances;
