Index: branches/network/src/lib/network/network_manager.cc
===================================================================
--- branches/network/src/lib/network/network_manager.cc	(revision 6093)
+++ branches/network/src/lib/network/network_manager.cc	(revision 6095)
@@ -107,4 +107,5 @@
 {
   this->tmpStream = new NetworkStream(port);
+  this->bGameServer = true;
   SDL_Delay(20);
   return 1;
@@ -135,4 +136,5 @@
   this->tmpStream = new NetworkStream(port);
   this->tmpStream->connectSynchronizeable(sync);
+  this->bGameServer = true;
 }
 
Index: branches/network/src/lib/network/network_manager.h
===================================================================
--- branches/network/src/lib/network/network_manager.h	(revision 6093)
+++ branches/network/src/lib/network/network_manager.h	(revision 6095)
@@ -45,5 +45,6 @@
     void setHostID(int id);
     /** Returns the hostID @return The hostID of the object */
-    inline int getHostID() { return this->hostID; };
+    inline int getHostID() { return this->hostID; }
+    inline bool isGameServer() { return this->bGameServer; }
 
 
@@ -56,9 +57,10 @@
 
   private:
-    const std::list<BaseObject*>*    netStreamList;            // list with refs to all network streams
-    const std::list<BaseObject*>*    syncList;                 // list of synchronizeables
-    static NetworkManager* singletonRef;           //!< Pointer to the only instance of this Class
-    NetworkStream*         tmpStream;              //!< FIXME: this is only for testing purposes
-    int hostID;                                    //!< The Host-ID of the Manager
+    const std::list<BaseObject*>*    netStreamList;           // list with refs to all network streams
+    const std::list<BaseObject*>*    syncList;                // list of synchronizeables
+    static NetworkManager*           singletonRef;            //!< Pointer to the only instance of this Class
+    NetworkStream*                   tmpStream;               //!< FIXME: this is only for testing purposes
+    int                              hostID;                  //!< The Host-ID of the Manager
+    bool                             bGameServer;             //!< true if it is a server
 
 };
Index: branches/network/src/orxonox.cc
===================================================================
--- branches/network/src/orxonox.cc	(revision 6093)
+++ branches/network/src/orxonox.cc	(revision 6095)
@@ -280,6 +280,7 @@
   if( this->serverName != NULL) // we are a client
     NetworkManager::getInstance()->establishConnection(this->serverName, port);
-  else if( this->port > 0)      // we are a server
+  else if( this->port > 0) {    // we are a server
     NetworkManager::getInstance()->createServer(port);
+  }
 
   return 0;
Index: branches/network/src/story_entities/network_world.cc
===================================================================
--- branches/network/src/story_entities/network_world.cc	(revision 6093)
+++ branches/network/src/story_entities/network_world.cc	(revision 6095)
@@ -341,10 +341,12 @@
   // find WorldEntities //
   ////////////////////////
-  element = root->FirstChildElement("WorldEntities");
-  if( element == NULL)
+  if( NetworkManager::getInstance()->isGameServer())
+  {
+    element = root->FirstChildElement("WorldEntities");
+    if( element == NULL)
     {
       PRINTF(1)("NetworkWorld is missing 'WorldEntities'\n");
     }
-  else
+    else
     {
       element = element->FirstChildElement();
@@ -352,12 +354,12 @@
       PRINTF(4)("Loading NetworkWorldEntities\n");
       while( element != NULL)
+      {
+        BaseObject* created = Factory::fabricate(element);
+        if( created != NULL )
         {
-          BaseObject* created = Factory::fabricate(element);
-          if( created != NULL )
-          {
-            if(created->isA(CL_WORLD_ENTITY))
-              this->spawn(dynamic_cast<WorldEntity*>(created));
-            printf("Created a %s: %s\n", created->getClassName(), created->getName());
-          }
+          if(created->isA(CL_WORLD_ENTITY))
+            this->spawn(dynamic_cast<WorldEntity*>(created));
+          printf("Created a %s: %s\n", created->getClassName(), created->getName());
+        }
 
           // if we load a 'Player' we use it as localPlayer
@@ -365,16 +367,17 @@
 
           //todo do this more elegant
-          if( element->Value() != NULL && !strcmp( element->Value(), "SkyBox"))
-            sky = dynamic_cast<SkyBox*>(created);
-          if( element->Value() != NULL && !strcmp( element->Value(), "Terrain"))
-          {
-            terrain = dynamic_cast<Terrain*>(created);
-            CDEngine::getInstance()->setTerrain(terrain);
-          }
-          element = element->NextSiblingElement();
-          glmis->step(); //! @todo temporary
+        if( element->Value() != NULL && !strcmp( element->Value(), "SkyBox"))
+          sky = dynamic_cast<SkyBox*>(created);
+        if( element->Value() != NULL && !strcmp( element->Value(), "Terrain"))
+        {
+          terrain = dynamic_cast<Terrain*>(created);
+          CDEngine::getInstance()->setTerrain(terrain);
         }
+        element = element->NextSiblingElement();
+        glmis->step(); //! @todo temporary
+      }
       PRINTF(4)("Done loading NetworkWorldEntities\n");
     }
+  }
 
     //////////////////////////////
