Index: code/trunk/src/orxonox/objects/BillboardProjectile.cc
===================================================================
--- code/trunk/src/orxonox/objects/BillboardProjectile.cc	(revision 1558)
+++ code/trunk/src/orxonox/objects/BillboardProjectile.cc	(revision 1559)
@@ -52,5 +52,5 @@
     BillboardProjectile::~BillboardProjectile()
     {
-        if (this->owner_)
+        if (this->isInitialized() && this->owner_)
             this->detachObject(this->billboard_.getBillboardSet());
     }
Index: code/trunk/src/orxonox/objects/Model.cc
===================================================================
--- code/trunk/src/orxonox/objects/Model.cc	(revision 1558)
+++ code/trunk/src/orxonox/objects/Model.cc	(revision 1559)
@@ -45,5 +45,5 @@
     CreateFactory(Model);
 
-    Model::Model() : meshSrc_("")
+    Model::Model()
     {
         RegisterObject(Model);
@@ -53,5 +53,5 @@
     Model::~Model()
     {
-        if ((this->meshSrc_ != "") && (this->meshSrc_.size() > 0))
+        if (this->isInitialized() && (this->meshSrc_ != "") && (this->meshSrc_.size() > 0))
             this->detachObject(this->mesh_.getEntity());
     }
Index: code/trunk/src/orxonox/objects/ParticleProjectile.cc
===================================================================
--- code/trunk/src/orxonox/objects/ParticleProjectile.cc	(revision 1558)
+++ code/trunk/src/orxonox/objects/ParticleProjectile.cc	(revision 1559)
@@ -37,5 +37,5 @@
     CreateFactory(ParticleProjectile);
 
-    ParticleProjectile::ParticleProjectile(SpaceShip* owner) : BillboardProjectile(owner), particles_(0)
+    ParticleProjectile::ParticleProjectile(SpaceShip* owner) : BillboardProjectile(owner)
     {
         RegisterObject(ParticleProjectile);
@@ -47,4 +47,8 @@
             this->particles_->getAllEmitters()->setDirection(-this->owner_->getInitialDir());
             this->particles_->setKeepParticlesInLocalSpace(true);
+        }
+        else
+        {
+            this->particles_ = 0;
         }
     }
Index: code/trunk/src/orxonox/objects/ParticleSpawner.cc
===================================================================
--- code/trunk/src/orxonox/objects/ParticleSpawner.cc	(revision 1558)
+++ code/trunk/src/orxonox/objects/ParticleSpawner.cc	(revision 1559)
@@ -38,10 +38,10 @@
     CreateFactory(ParticleSpawner);
 
-    ParticleSpawner::ParticleSpawner() : particle_(0)
+    ParticleSpawner::ParticleSpawner()
     {
         RegisterObject(ParticleSpawner);
     }
 
-    ParticleSpawner::ParticleSpawner(const std::string& templateName, float lifetime, float delay, const Vector3& direction) : particle_(0)
+    ParticleSpawner::ParticleSpawner(const std::string& templateName, float lifetime, float delay, const Vector3& direction)
     {
         RegisterObject(ParticleSpawner);
@@ -61,5 +61,5 @@
     ParticleSpawner::~ParticleSpawner()
     {
-        if (this->particle_)
+        if (this->isInitialized())
         {
             this->particle_->detachFromSceneNode();
Index: code/trunk/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1558)
+++ code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1559)
@@ -79,58 +79,58 @@
     }
 
-    SpaceShip::SpaceShip() :
-      //testvector_(0,0,0),
-      //bInvertYAxis_(false),
-      setMouseEventCallback_(false),
-      bLMousePressed_(false),
-      bRMousePressed_(false),
-      camNode_(0),
-      cam_(0),
-      camName_("CamNode"),
-      tt1_(0),
-      tt2_(0),
-      redNode_(0),
-      greenNode_(0),
-      blinkTime_(0.0f),
-      chNearNode_(0),
-      chFarNode_(0),
-      timeToReload_(0.0f),
-      //reloadTime_(0.0f),
-      maxSideAndBackSpeed_(0.0f),
-      maxSpeed_(0.0f),
-      maxRotation_(0.0f),
-      translationAcceleration_(0.0f),
-      rotationAcceleration_(0.0f),
-      translationDamping_(0.0f),
-      rotationDamping_(0.0f),
-      maxRotationRadian_(0),
-      rotationAccelerationRadian_(0),
-      rotationDampingRadian_(0),
-      zeroRadian_(0),
-      mouseXRotation_(0),
-      mouseYRotation_(0),
-      mouseX_(0.0f),
-      mouseY_(0.0f),
-      myShip_(false),
-      teamNr_(0),
-      health_(100)
+    SpaceShip::SpaceShip()
     {
         RegisterObject(SpaceShip);
-        this->registerAllVariables();
-
-        SpaceShip::instance_s = this;
-
-        this->setConfigValues();
-
-        initialDir_ = Vector3(1.0, 0.0, 0.0);
-        currentDir_ = initialDir_;
-        initialOrth_ = Vector3(0.0, 0.0, 1.0);
-        currentOrth_ = initialOrth_;
-
-        this->camName_ = this->getName() + "CamNode";
 
         this->setRotationAxis(1, 0, 0);
         this->setStatic(false);
 
+        this->zeroRadian_ = 0;
+        this->maxSideAndBackSpeed_ = 0;
+        this->maxSpeed_ = 0;
+        this->maxRotation_ = 0;
+        this->translationAcceleration_ = 0;
+        this->rotationAcceleration_ = 0;
+        this->translationDamping_ = 0;
+        this->rotationDamping_ = 0;
+        this->maxRotationRadian_ = 0;
+        this->rotationAccelerationRadian_ = 0;
+        this->rotationDampingRadian_ = 0;
+
+        this->cam_ = 0;
+        this->tt1_ = 0;
+        this->tt2_ = 0;
+
+        this->redNode_ = 0;
+        this->greenNode_ = 0;
+        this->blinkTime_ = 0;
+
+        this->timeToReload_ = 0;
+
+        this->setMouseEventCallback_ = false;
+        this->bLMousePressed_ = false;
+        this->bRMousePressed_ = false;
+        this->mouseXRotation_ = 0;
+        this->mouseYRotation_ = 0;
+        this->mouseX_ = 0;
+        this->mouseY_ = 0;
+        this->myShip_ = false;
+
+        this->registerAllVariables();
+
+        SpaceShip::instance_s = this;
+
+        this->setConfigValues();
+
+        this->initialDir_ = Vector3(1.0, 0.0, 0.0);
+        this->currentDir_ = initialDir_;
+        this->initialOrth_ = Vector3(0.0, 0.0, 1.0);
+        this->currentOrth_ = initialOrth_;
+
+        this->camName_ = this->getName() + "CamNode";
+
+        this->teamNr_ = 0;
+        this->health_ = 100;
+
         COUT(3) << "Info: SpaceShip was loaded" << std::endl;
     }
@@ -138,15 +138,20 @@
     SpaceShip::~SpaceShip()
     {
-        if (this->tt1_)
-            delete this->tt1_;
-        if (this->tt2_)
-            delete this->tt2_;
-        if(setMouseEventCallback_)
-          InputManager::removeMouseHandler("SpaceShip");
-        if (this->cam_)
-          delete this->cam_;
-        if (!Identifier::isCreatingHierarchy() && !myShip_ && &HUD::getSingleton()!=NULL)
-          //remove the radar object
-          HUD::getSingleton().removeRadarObject(this->getNode());
+        if (this->isInitialized())
+        {
+            if (this->tt1_)
+                delete this->tt1_;
+            if (this->tt2_)
+                delete this->tt2_;
+
+            if (setMouseEventCallback_)
+                InputManager::removeMouseHandler("SpaceShip");
+
+            if (this->cam_)
+                delete this->cam_;
+
+            if (!myShip_ && &HUD::getSingleton()!=NULL)
+              HUD::getSingleton().removeRadarObject(this->getNode());
+        }
     }
 
@@ -307,5 +312,5 @@
       Quaternion q1 = Quaternion(Radian(Degree(90)),Vector3(0,-1,0));
       Quaternion q2 = Quaternion(Radian(Degree(90)),Vector3(1,0,0));
-      camNode_->setOrientation(q2*q1);
+      this->camNode_->setOrientation(q2*q1);
       if(network::Client::getSingleton()!=0 && network::Client::getSingleton()->getShipID()==objectID){
         this->setBacksync(true);
Index: code/trunk/src/orxonox/objects/WorldEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1558)
+++ code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1559)
@@ -45,12 +45,5 @@
     unsigned int WorldEntity::worldEntityCounter_s = 0;
 
-    WorldEntity::WorldEntity() :
-      velocity_    (0, 0, 0),
-      acceleration_(0, 0, 0),
-      rotationAxis_(0, 1, 0),
-      rotationRate_(0),
-      momentum_    (0),
-      node_        (0),
-      bStatic_     (true)
+    WorldEntity::WorldEntity()
     {
         RegisterObject(WorldEntity);
@@ -58,11 +51,22 @@
         if (GraphicsEngine::getSingleton().getSceneManager())
         {
-          std::ostringstream name;
-          name << (WorldEntity::worldEntityCounter_s++);
-          this->setName("WorldEntity" + name.str());
-          this->node_ = GraphicsEngine::getSingleton().getSceneManager()->getRootSceneNode()->createChildSceneNode(this->getName());
+            std::ostringstream name;
+            name << (WorldEntity::worldEntityCounter_s++);
+            this->setName("WorldEntity" + name.str());
+            this->node_ = GraphicsEngine::getSingleton().getSceneManager()->getRootSceneNode()->createChildSceneNode(this->getName());
 
-          registerAllVariables();
+            registerAllVariables();
         }
+        else
+        {
+            this->node_ = 0;
+        }
+
+        this->bStatic_ = true;
+        this->velocity_ = Vector3(0, 0, 0);
+        this->acceleration_ = Vector3(0, 0, 0);
+        this->rotationAxis_ = Vector3(0, 1, 0);
+        this->rotationRate_ = 0;
+        this->momentum_ = 0;
     }
 
@@ -70,6 +74,5 @@
     WorldEntity::~WorldEntity()
     {
-        // just to make sure we clean out all scene nodes
-        if(this->getNode())
+        if (this->isInitialized())
         {
             this->getNode()->removeAndDestroyAllChildren();
