Index: branches/network/src/lib/network/synchronizeable.h
===================================================================
--- branches/network/src/lib/network/synchronizeable.h	(revision 6275)
+++ branches/network/src/lib/network/synchronizeable.h	(revision 6277)
@@ -110,4 +110,5 @@
                                       return; \
 } \
+                                    __synchelp_read_i += __synchelp_read_n; \
 }
 #define SYNCHELP_READ_BYTE(b)      { \
Index: branches/network/src/world_entities/skybox.cc
===================================================================
--- branches/network/src/world_entities/skybox.cc	(revision 6275)
+++ branches/network/src/world_entities/skybox.cc	(revision 6277)
@@ -238,5 +238,4 @@
   if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
   {
-    //PRINTF(0)("Requesting sync! %d\n", this->getUniqueID());
     (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     setRequestedSync( true );
@@ -246,5 +245,4 @@
   if ( rec > 0 )
   {
-    //PRINTF(0)("Serving client %d which requested sync %d size=%f texture=%s\n", rec, this->getUniqueID(), this->size, this->textureName);
     *reciever = rec;
 
Index: branches/network/src/world_entities/terrain.cc
===================================================================
--- branches/network/src/world_entities/terrain.cc	(revision 6275)
+++ branches/network/src/world_entities/terrain.cc	(revision 6277)
@@ -59,5 +59,4 @@
     {
       this->loadModel(fileName);
-      strncpy( terrainFile, fileName, 1024 );
     }
   else
@@ -101,6 +100,4 @@
   this->ssp = NULL;
   this->vegetation = NULL;
-  strncpy( this->vegetationFile, "", 1024 );
-  strncpy( this->terrainFile, "", 1024 );
 }
 
@@ -123,5 +120,4 @@
     PRINTF(4)("fetching %s\n", vegetationFile);
     this->vegetation = (Model*)ResourceManager::getInstance()->load(vegetationFile, OBJ, RP_CAMPAIGN);
-    strncpy( this->vegetationFile, vegetationFile, 1024);
   }
   else
@@ -328,13 +324,9 @@
   setIsOutOfSync( false );
 
-  int n = Converter::byteArrayToString( data, vegetationFile, length );
-  Converter::byteArrayToString( data+n, terrainFile, length-n );
-
-  //PRINT(0)("GOT DATA: size=%f texture=%s\n", size, textureName);
-
-  if ( strcmp(vegetationFile, "") )
-    this->loadVegetation( vegetationFile );
-  if ( strcmp(terrainFile, "") )
-    this->loadModel( terrainFile );
+  SYNCHELP_READ_BEGIN();
+  SYNCHELP_READ_STRING( modelFileName, 1024 );
+
+  if ( strcmp(modelFileName, "") )
+    this->loadModel( modelFileName );
 
 }
@@ -344,5 +336,4 @@
   if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
   {
-    //PRINTF(0)("Requesting sync! %d\n", this->getUniqueID());
     (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     setRequestedSync( true );
@@ -352,16 +343,10 @@
   if ( rec > 0 )
   {
-    //PRINTF(0)("Serving client %d which requested sync %d size=%f texture=%s\n", rec, this->getUniqueID(), this->size, this->textureName);
     *reciever = rec;
 
-    if ( strlen(vegetationFile)+INTSIZE > maxLength )
-    {
-      PRINTF(1)("Byte array is too small (%d) to store data\n", maxLength );
-      return 0;
-    }
-
-    int n = Converter::stringToByteArray( vegetationFile, data, strlen(vegetationFile), maxLength );
-
-    return n + Converter::stringToByteArray( terrainFile, data+n, strlen(terrainFile), maxLength-n );
+    SYNCHELP_WRITE_BEGIN();
+    SYNCHELP_WRITE_STRING( modelFileName );
+
+    return SYNCHELP_WRITE_N;
 
   }
Index: branches/network/src/world_entities/terrain.h
===================================================================
--- branches/network/src/world_entities/terrain.h	(revision 6275)
+++ branches/network/src/world_entities/terrain.h	(revision 6277)
@@ -49,6 +49,5 @@
    Model*              vegetation;
    int                 objectList;
-   char                vegetationFile[1024];
-   char                terrainFile[1024];
+
 };
 
Index: branches/network/src/world_entities/world_entity.cc
===================================================================
--- branches/network/src/world_entities/world_entity.cc	(revision 6275)
+++ branches/network/src/world_entities/world_entity.cc	(revision 6277)
@@ -58,4 +58,6 @@
 
   this->toList(OM_NULL);
+
+  strncpy( modelFileName, "", 1024 );
 }
 
@@ -101,6 +103,7 @@
 void WorldEntity::loadModel(const char* fileName, float scaling, unsigned int modelNumber)
 {
-  if (fileName != NULL)
-  {
+  if ( fileName != NULL && strcmp(fileName, "") )
+  {
+    strncpy( modelFileName, fileName, 1024 );
     // search for the special character # in the LoadParam
     if (strchr(fileName, '#') != NULL)
@@ -129,5 +132,8 @@
   }
   else
+  {
+    strncpy( modelFileName, "", 1024 );
     this->setModel(NULL);
+  }
 }
 
Index: branches/network/src/world_entities/world_entity.h
===================================================================
--- branches/network/src/world_entities/world_entity.h	(revision 6275)
+++ branches/network/src/world_entities/world_entity.h	(revision 6277)
@@ -74,4 +74,5 @@
  protected:
   //  CharacterAttributes*    charAttr;         //!< the character attributes of a world_entity
+   char                   modelFileName[1024];  //!< the filename of the loaded model
 
  private:
@@ -85,4 +86,5 @@
   std::list<WorldEntity*>::iterator objectListIterator; //!< The iterator position of this Entity in the given list of the ObjectManager.
 
+
 };
 
