Index: code/branches/core2/src/orxonox/core/BaseObject.cc
===================================================================
--- code/branches/core2/src/orxonox/core/BaseObject.cc	(revision 877)
+++ code/branches/core2/src/orxonox/core/BaseObject.cc	(revision 878)
@@ -52,4 +52,5 @@
         this->bVisible_ = true;
         this->level_ = 0;
+        this->namespace_ = 0;
     }
 
Index: code/branches/core2/src/orxonox/core/Loader.cc
===================================================================
--- code/branches/core2/src/orxonox/core/Loader.cc	(revision 877)
+++ code/branches/core2/src/orxonox/core/Loader.cc	(revision 878)
@@ -33,4 +33,5 @@
 #include "Debug.h"
 #include "CoreIncludes.h"
+#include "Namespace.h"
 
 #include "util/tinyxml/ticpp.h"
@@ -120,5 +121,5 @@
                 if (identifier)
                 {
-                    if (Loader::currentMask_s.isIncluded(identifier))
+                    if (identifier->isA(Class(Namespace)) || Loader::currentMask_s.isIncluded(identifier))
                     {
                         COUT(4) << "  fabricating " << child->Value() << "..." << std::endl;
Index: code/branches/core2/src/orxonox/core/Namespace.cc
===================================================================
--- code/branches/core2/src/orxonox/core/Namespace.cc	(revision 877)
+++ code/branches/core2/src/orxonox/core/Namespace.cc	(revision 878)
@@ -37,4 +37,6 @@
     {
         RegisterObject(Namespace);
+
+        this->representingNamespace_ = 0;
     }
 
@@ -53,5 +55,5 @@
         BaseObject::XMLPort(xmlelement, loading);
 
-        XMLPortObject(Namespace, BaseObject, "", loadObjects, saveObjects, xmlelement, loading);
+        XMLPortObject(Namespace, BaseObject, "", loadObjects, saveObjects, xmlelement, loading, true);
     }
 
Index: code/branches/core2/src/orxonox/core/Namespace.h
===================================================================
--- code/branches/core2/src/orxonox/core/Namespace.h	(revision 877)
+++ code/branches/core2/src/orxonox/core/Namespace.h	(revision 878)
@@ -51,4 +51,5 @@
         private:
             std::list<Namespace*> namespaces_;
+            Namespace* representingNamespace_;
     };
 }
Index: code/branches/core2/src/orxonox/core/XMLPort.cc
===================================================================
--- code/branches/core2/src/orxonox/core/XMLPort.cc	(revision 877)
+++ code/branches/core2/src/orxonox/core/XMLPort.cc	(revision 878)
@@ -29,4 +29,6 @@
 #include "Language.h"
 #include "Loader.h"
+#include "Namespace.h"
+#include "CoreIncludes.h"
 
 namespace orxonox
@@ -65,4 +67,5 @@
     {
         this->bAddedDescription_ = false;
+        this->bApplyLoaderMask_ = false;
     }
 
@@ -86,5 +89,5 @@
     bool XMLPortObjectContainer::identifierIsIncludedInLoaderMask(const Identifier* identifier)
     {
-        return Loader::currentMask_s.isIncluded(identifier);
+        return ((!this->bApplyLoaderMask_) || identifier->isA(Class(Namespace)) || Loader::currentMask_s.isIncluded(identifier));
     }
 }
Index: code/branches/core2/src/orxonox/core/XMLPort.h
===================================================================
--- code/branches/core2/src/orxonox/core/XMLPort.h	(revision 877)
+++ code/branches/core2/src/orxonox/core/XMLPort.h	(revision 878)
@@ -59,9 +59,9 @@
     xmlcontainer##loadfunction##savefunction->port(this, xmlelement, loading)
 
-#define XMLPortObject(classname, objectclass, sectionname, loadfunction, savefunction, xmlelement, loading) \
+#define XMLPortObject(classname, objectclass, sectionname, loadfunction, savefunction, xmlelement, loading, bApplyLoaderMask) \
     orxonox::XMLPortClassObjectContainer<classname, objectclass>* xmlcontainer##loadfunction##savefunction = (orxonox::XMLPortClassObjectContainer<classname, objectclass>*)(this->getIdentifier()->getXMLPortObjectContainer(sectionname)); \
     if (!xmlcontainer##loadfunction##savefunction) \
     { \
-        xmlcontainer##loadfunction##savefunction = new orxonox::XMLPortClassObjectContainer<classname, objectclass>(this->getIdentifier()->getName(), std::string(sectionname), &classname::loadfunction, &classname::savefunction); \
+        xmlcontainer##loadfunction##savefunction = new orxonox::XMLPortClassObjectContainer<classname, objectclass>(this->getIdentifier()->getName(), std::string(sectionname), &classname::loadfunction, &classname::savefunction, bApplyLoaderMask); \
         this->getIdentifier()->addXMLPortObjectContainer(sectionname, xmlcontainer##loadfunction##savefunction); \
     } \
@@ -196,9 +196,10 @@
             XMLPortObjectContainer& description(const std::string description);
             const std::string& getDescription();
-            static bool identifierIsIncludedInLoaderMask(const Identifier* identifier);
+            bool identifierIsIncludedInLoaderMask(const Identifier* identifier);
 
         protected:
             std::string classname_;
             std::string sectionname_;
+            bool bApplyLoaderMask_;
 
         private:
@@ -211,5 +212,5 @@
     {
         public:
-            XMLPortClassObjectContainer(const std::string classname, const std::string sectionname, void (T::*loadfunction)(O*), const O* (T::*savefunction)(unsigned int) const)
+            XMLPortClassObjectContainer(const std::string classname, const std::string sectionname, void (T::*loadfunction)(O*), const O* (T::*savefunction)(unsigned int) const, bool bApplyLoaderMask)
             {
                 this->classname_ = classname;
@@ -217,4 +218,5 @@
                 this->loadfunction_ = loadfunction;
                 this->savefunction_ = savefunction;
+                this->bApplyLoaderMask_ = bApplyLoaderMask;
             }
 
Index: code/branches/core2/src/orxonox/objects/WorldEntity.cc
===================================================================
--- code/branches/core2/src/orxonox/objects/WorldEntity.cc	(revision 877)
+++ code/branches/core2/src/orxonox/objects/WorldEntity.cc	(revision 878)
@@ -182,5 +182,5 @@
         XMLPortParam(WorldEntity, "rotationRate", setRotationRate, getRotationRate, xmlelement, loading);
 
-        XMLPortObject(WorldEntity, WorldEntity, "attached", attachWorldEntity, getAttachedWorldEntity, xmlelement, loading);
+        XMLPortObject(WorldEntity, WorldEntity, "attached", attachWorldEntity, getAttachedWorldEntity, xmlelement, loading, false);
     }
 
