Index: code/branches/presentation/src/libraries/network/Server.cc
===================================================================
--- code/branches/presentation/src/libraries/network/Server.cc	(revision 8647)
+++ code/branches/presentation/src/libraries/network/Server.cc	(revision 8648)
@@ -413,5 +413,5 @@
     
     COUT(4) << "sending welcome" << std::endl;
-    packet::Welcome *w = new packet::Welcome(clientID, OBJECTID_UNKNOWN);
+    packet::Welcome *w = new packet::Welcome(clientID);
     w->setPeerID(clientID);
     b = w->send( static_cast<Host*>(this) );
Index: code/branches/presentation/src/libraries/network/packet/Welcome.cc
===================================================================
--- code/branches/presentation/src/libraries/network/packet/Welcome.cc	(revision 8647)
+++ code/branches/presentation/src/libraries/network/packet/Welcome.cc	(revision 8648)
@@ -44,5 +44,5 @@
 #define _ENDIANTEST           _CLIENTID + sizeof(uint32_t)
 
-  Welcome::Welcome( uint32_t clientID, uint32_t shipID )
+  Welcome::Welcome( uint32_t clientID )
  : Packet()
 {
Index: code/branches/presentation/src/libraries/network/packet/Welcome.h
===================================================================
--- code/branches/presentation/src/libraries/network/packet/Welcome.h	(revision 8647)
+++ code/branches/presentation/src/libraries/network/packet/Welcome.h	(revision 8648)
@@ -41,5 +41,5 @@
 {
 public:
-  Welcome( uint32_t clientID, uint32_t shipID );
+  Welcome( uint32_t clientID );
   Welcome( uint8_t* data, uint32_t clientID );
   virtual ~Welcome();
Index: code/branches/presentation/src/orxonox/infos/GametypeInfo.cc
===================================================================
--- code/branches/presentation/src/orxonox/infos/GametypeInfo.cc	(revision 8647)
+++ code/branches/presentation/src/orxonox/infos/GametypeInfo.cc	(revision 8648)
@@ -342,10 +342,13 @@
         if(GameMode::isMaster())
         {
-            // Display "Press [Fire] to start the match" if the game has not yet ended.
-            if(!this->hasEnded())
-                NotificationListener::sendNotification("Press [Fire] to start the match", GametypeInfo::NOTIFICATION_SENDER, notificationMessageType::info, notificationSendMode::network, player->getClientID());
-            // Else display "Game has ended".
-            else
-                NotificationListener::sendNotification("Game has ended", GametypeInfo::NOTIFICATION_SENDER, notificationMessageType::info, notificationSendMode::network, player->getClientID());
+            if( player->isHumanPlayer() )
+            {
+                // Display "Press [Fire] to start the match" if the game has not yet ended.
+                if(!this->hasEnded())
+                    NotificationListener::sendNotification("Press [Fire] to start the match", GametypeInfo::NOTIFICATION_SENDER, notificationMessageType::info, notificationSendMode::network, player->getClientID());
+                // Else display "Game has ended".
+                else
+                    NotificationListener::sendNotification("Game has ended", GametypeInfo::NOTIFICATION_SENDER, notificationMessageType::info, notificationSendMode::network, player->getClientID());
+            }
         }
     }
Index: code/branches/presentation/src/orxonox/items/Engine.cc
===================================================================
--- code/branches/presentation/src/orxonox/items/Engine.cc	(revision 8647)
+++ code/branches/presentation/src/orxonox/items/Engine.cc	(revision 8648)
@@ -72,5 +72,6 @@
     Engine::~Engine()
     {
-
+        if( this->ship_ && this->ship_->hasEngine(this) )
+            this->ship_->removeEngine(this);
     }
 
Index: code/branches/presentation/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/presentation/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 8647)
+++ code/branches/presentation/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 8648)
@@ -374,6 +374,18 @@
     void SpaceShip::removeAllEngines()
     {
-        for(unsigned int i=0; i<this->engineList_.size(); i++)
-            this->engineList_[i]->destroy();
+        while(this->engineList_.size())
+            this->engineList_.back()->destroy();
+    }
+    
+    void SpaceShip::removeEngine(Engine* engine)
+    {
+        for(std::vector<Engine*>::iterator it=this->engineList_.begin(); it!=this->engineList_.end(); ++it)
+        {
+            if(*it==engine)
+            {
+                this->engineList_.erase(it);
+                return;
+            }
+        }
     }
 
Index: code/branches/presentation/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/presentation/src/orxonox/worldentities/pawns/SpaceShip.h	(revision 8647)
+++ code/branches/presentation/src/orxonox/worldentities/pawns/SpaceShip.h	(revision 8648)
@@ -66,4 +66,5 @@
             inline const std::vector<Engine*>& getEngineList()
                 { return this->engineList_; }
+            void removeEngine(Engine* engine);
             void removeAllEngines();
 
