Index: code/branches/core7/src/libraries/network/FunctionCall.cc
===================================================================
--- code/branches/core7/src/libraries/network/FunctionCall.cc	(revision 10473)
+++ code/branches/core7/src/libraries/network/FunctionCall.cc	(revision 10474)
@@ -47,5 +47,5 @@
 
 bool FunctionCall::execute(){
-  NetworkFunctionBase* fct = static_cast<NetworkFunctionStatic*>(NetworkFunctionManager::getFunction( this->functionID_ ));
+  NetworkFunctionBase* fct = static_cast<NetworkFunctionStatic*>(NetworkFunctionManager::getInstance().getFunction( this->functionID_ ));
   assert( this->nrOfArguments_==this->arguments_.size() );
   switch(this->nrOfArguments_)
Index: code/branches/core7/src/libraries/network/NetworkFunction.cc
===================================================================
--- code/branches/core7/src/libraries/network/NetworkFunction.cc	(revision 10473)
+++ code/branches/core7/src/libraries/network/NetworkFunction.cc	(revision 10474)
@@ -38,14 +38,14 @@
 
         this->name_ = name;
-        NetworkFunctionManager::getNameMap()[name] = this;
-        NetworkFunctionManager::getFunctorMap()[p] = this;
-        NetworkFunctionManager::getIdMap()[this->getNetworkID()] = this;
+        NetworkFunctionManager::getInstance().getNameMap()[name] = this;
+        NetworkFunctionManager::getInstance().getFunctorMap()[p] = this;
+        NetworkFunctionManager::getInstance().getIdMap()[this->getNetworkID()] = this;
     }
 
     void NetworkFunctionBase::setNetworkID(uint32_t id)
     {
-        NetworkFunctionManager::getIdMap().erase(this->networkID_);  // remove old id
+        NetworkFunctionManager::getInstance().getIdMap().erase(this->networkID_);  // remove old id
         this->networkID_ = id;
-        NetworkFunctionManager::getIdMap()[this->networkID_] = this; // add new id
+        NetworkFunctionManager::getInstance().getIdMap()[this->networkID_] = this; // add new id
     }
 }
Index: code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h
===================================================================
--- code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h	(revision 10473)
+++ code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h	(revision 10474)
@@ -51,5 +51,5 @@
             NetworkFunctionPointer p1; \
             copyPtr( functionPointer, p1 ); \
-            FunctionCallManager::addCall(NetworkFunctionManager::getFunction(p1)->getNetworkID(), OBJECTID_UNKNOWN, __VA_ARGS__); \
+            FunctionCallManager::addCall(NetworkFunctionManager::getInstance().getFunction(p1)->getNetworkID(), OBJECTID_UNKNOWN, __VA_ARGS__); \
         }
 
@@ -59,5 +59,5 @@
             NetworkFunctionPointer p1; \
             copyPtr( &class::function, p1 ); \
-            FunctionCallManager::addCall(NetworkFunctionManager::getFunction(p1)->getNetworkID(), objectID, __VA_ARGS__); \
+            FunctionCallManager::addCall(NetworkFunctionManager::getInstance().getFunction(p1)->getNetworkID(), objectID, __VA_ARGS__); \
         }
 
Index: code/branches/core7/src/libraries/network/NetworkFunctionManager.cc
===================================================================
--- code/branches/core7/src/libraries/network/NetworkFunctionManager.cc	(revision 10473)
+++ code/branches/core7/src/libraries/network/NetworkFunctionManager.cc	(revision 10474)
@@ -32,7 +32,4 @@
 namespace orxonox
 {
-    std::map<NetworkFunctionPointer, NetworkFunctionBase*> NetworkFunctionManager::functorMap_;
-    std::map<uint32_t, NetworkFunctionBase*> NetworkFunctionManager::idMap_;
-
     /* static */NetworkFunctionManager& NetworkFunctionManager::getInstance()
     {
@@ -41,14 +38,14 @@
     }
 
-    /*static*/void NetworkFunctionManager::setNetworkID(const std::string& name, uint32_t id)
+    void NetworkFunctionManager::setNetworkID(const std::string& name, uint32_t id)
     {
-        std::map<std::string, NetworkFunctionBase*>& map = NetworkFunctionManager::getNameMap();
+        std::map<std::string, NetworkFunctionBase*>& map = this->nameMap_;
         assert( map.find(name)!=map.end() );
         map[name]->setNetworkID(id);
     }
 
-    /*static*/void NetworkFunctionManager::destroyAllNetworkFunctions()
+    void NetworkFunctionManager::destroyAllNetworkFunctions()
     {
-        std::map<std::string, NetworkFunctionBase*>& map = NetworkFunctionManager::getNameMap();
+        std::map<std::string, NetworkFunctionBase*>& map = this->nameMap_;
         std::map<std::string, NetworkFunctionBase*>::iterator it;
         for (it = map.begin(); it != map.end(); ++it)
@@ -56,11 +53,5 @@
     }
 
-    /*static*/std::map<std::string, NetworkFunctionBase*>& NetworkFunctionManager::getNameMap()
-    {
-        static std::map<std::string, NetworkFunctionBase*> nameMap_;
-        return nameMap_;
-    }
-
-    /*static*/NetworkFunctionBase* NetworkFunctionManager::getFunction(const NetworkFunctionPointer& p)
+    NetworkFunctionBase* NetworkFunctionManager::getFunction(const NetworkFunctionPointer& p)
     {
         std::map<NetworkFunctionPointer, NetworkFunctionBase*>::iterator it = functorMap_.find(p);
@@ -69,5 +60,5 @@
     }
 
-    /*static*/NetworkFunctionBase* NetworkFunctionManager::getFunction(uint32_t id)
+    NetworkFunctionBase* NetworkFunctionManager::getFunction(uint32_t id)
     {
         std::map<uint32_t, NetworkFunctionBase*>::iterator it = idMap_.find(id);
Index: code/branches/core7/src/libraries/network/NetworkFunctionManager.h
===================================================================
--- code/branches/core7/src/libraries/network/NetworkFunctionManager.h	(revision 10473)
+++ code/branches/core7/src/libraries/network/NetworkFunctionManager.h	(revision 10474)
@@ -42,19 +42,21 @@
             static NetworkFunctionManager& getInstance();
 
-            static void setNetworkID(const std::string& name, uint32_t id);
-            static void destroyAllNetworkFunctions();
-            static std::map<std::string, NetworkFunctionBase*>& getNameMap();
+            void setNetworkID(const std::string& name, uint32_t id);
+            void destroyAllNetworkFunctions();
 
-            static inline std::map<NetworkFunctionPointer, NetworkFunctionBase*>& getFunctorMap()
+            inline std::map<std::string, NetworkFunctionBase*>& getNameMap()
+                { return nameMap_; }
+            inline std::map<NetworkFunctionPointer, NetworkFunctionBase*>& getFunctorMap()
                 { return functorMap_; }
-            static inline std::map<uint32_t, NetworkFunctionBase*>& getIdMap()
+            inline std::map<uint32_t, NetworkFunctionBase*>& getIdMap()
                 { return idMap_; }
 
-            static NetworkFunctionBase* getFunction(const NetworkFunctionPointer& p);
-            static NetworkFunctionBase* getFunction(uint32_t id);
+            NetworkFunctionBase* getFunction(const NetworkFunctionPointer& p);
+            NetworkFunctionBase* getFunction(uint32_t id);
 
         private:
-            static std::map<NetworkFunctionPointer, NetworkFunctionBase*> functorMap_;
-            static std::map<uint32_t, NetworkFunctionBase*> idMap_;
+            std::map<std::string, NetworkFunctionBase*> nameMap_;
+            std::map<NetworkFunctionPointer, NetworkFunctionBase*> functorMap_;
+            std::map<uint32_t, NetworkFunctionBase*> idMap_;
     };
 }
Index: code/branches/core7/src/libraries/network/packet/FunctionIDs.cc
===================================================================
--- code/branches/core7/src/libraries/network/packet/FunctionIDs.cc	(revision 10473)
+++ code/branches/core7/src/libraries/network/packet/FunctionIDs.cc	(revision 10474)
@@ -56,5 +56,5 @@
 
   //calculate total needed size (for all strings and integers)
-  std::map<std::string, NetworkFunctionBase*>& map = NetworkFunctionManager::getNameMap();
+  std::map<std::string, NetworkFunctionBase*>& map = NetworkFunctionManager::getInstance().getNameMap();
   std::map<std::string, NetworkFunctionBase*>::iterator it;
   for (it = map.begin(); it != map.end(); ++it)
@@ -140,5 +140,5 @@
     functionname = temp+2*sizeof(uint32_t);
     orxout(internal_info, context::packets) << "processing functionid: " << networkID << " name: " << functionname << endl;
-    NetworkFunctionManager::setNetworkID((const char*)functionname, networkID);
+    NetworkFunctionManager::getInstance().setNetworkID((const char*)functionname, networkID);
     temp += 2*sizeof(uint32_t) + stringsize;
   }
