Index: code/branches/gameimmersion/src/orxonox/controllers/HumanController.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/controllers/HumanController.cc	(revision 8538)
+++ code/branches/gameimmersion/src/orxonox/controllers/HumanController.cc	(revision 8541)
@@ -52,5 +52,7 @@
     SetConsoleCommand("HumanController", __CC_fire_name,           &HumanController::fire          ).addShortcut().keybindMode(KeybindMode::OnHold);
     SetConsoleCommand("HumanController", "reload",                 &HumanController::reload        ).addShortcut();
-    SetConsoleCommand("HumanController", __CC_boost_name,          &HumanController::toggleBoost   ).addShortcut().keybindMode(KeybindMode::OnPress);
+    //SetConsoleCommand("HumanController", __CC_boost_name,          &HumanController::toggleBoost   ).addShortcut().keybindMode(KeybindMode::OnPress);
+    SetConsoleCommand("HumanController", "startBoost",             &HumanController::startBoost    ).addShortcut().keybindMode(KeybindMode::OnPress);
+    SetConsoleCommand("HumanController", "stopBoost",              &HumanController::stopBoost     ).addShortcut().keybindMode(KeybindMode::OnRelease);
     SetConsoleCommand("HumanController", "greet",                  &HumanController::greet         ).addShortcut();
     SetConsoleCommand("HumanController", "switchCamera",           &HumanController::switchCamera  ).addShortcut();
@@ -171,4 +173,5 @@
     /*static*/ void HumanController::toggleBoost()
     {
+	COUT(0) << "Toggling boost!";
         if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
             HumanController::localController_s->toggleBoosting();
@@ -182,4 +185,5 @@
     void HumanController::toggleBoosting(void)
     {
+	    /*
         this->boosting_ = !this->boosting_;
         
@@ -190,6 +194,25 @@
             ModifyConsoleCommand(__CC_boost_name).keybindMode(KeybindMode::OnPress);
 
-        this->controllableEntity_->boost(this->boosting_);
-    }
+        this->controllableEntity_->boost(this->boosting_);*/
+    }
+    
+    void HumanController::startBoost()
+    {
+	    COUT(0) << "Starting boost" << std::endl;
+	    if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+		    HumanController::localController_s->setBoost(true);
+    }
+    
+    void HumanController::stopBoost()
+    {
+	    COUT(0) << "Stopping boost" << std::endl;
+	    if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+		    HumanController::localController_s->setBoost(false);
+    }
+    
+    void HumanController::setBoost(bool bBoost)
+    {
+	    this->controllableEntity_->boost(bBoost);
+    }	    
 
     void HumanController::greet()
Index: code/branches/gameimmersion/src/orxonox/controllers/HumanController.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/controllers/HumanController.h	(revision 8538)
+++ code/branches/gameimmersion/src/orxonox/controllers/HumanController.h	(revision 8541)
@@ -64,5 +64,8 @@
             static void reload();
 
+	    static void startBoost();
+	    static void stopBoost();
             static void toggleBoost(); // Static method,toggles boosting.
+	    void setBoost(bool);
             /**
             @brief Check whether the HumanController is in boosting mode.
Index: code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 8538)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 8541)
@@ -168,7 +168,4 @@
             }
 
-	   // COUT(0) << "Velocity: " << this->getVelocity().length() << " - " << this->getVelocity().squaredLength() << std::endl;
-
-
             if(this->bBoost_)
             {
@@ -186,7 +183,77 @@
         }
     }
+
+    void SpaceShip::moveFrontBack(const Vector2& value)
+    {
+        this->localLinearAcceleration_.setZ(this->localLinearAcceleration_.z() - value.x);
+        this->steering_.z = -value.x;
+    }
+
+    void SpaceShip::moveRightLeft(const Vector2& value)
+    {
+        this->localLinearAcceleration_.setX(this->localLinearAcceleration_.x() + value.x);
+        this->steering_.x = value.x;
+    }
+
+    void SpaceShip::moveUpDown(const Vector2& value)
+    {
+        this->localLinearAcceleration_.setY(this->localLinearAcceleration_.y() + value.x);
+        this->steering_.y = value.x;
+    }
+
+    void SpaceShip::rotateYaw(const Vector2& value)
+    {
+        this->localAngularAcceleration_.setY(this->localAngularAcceleration_.y() + value.x);
+
+        Pawn::rotateYaw(value);
+    }
+
+    void SpaceShip::rotatePitch(const Vector2& value)
+    {
+        this->localAngularAcceleration_.setX(this->localAngularAcceleration_.x() + value.x);
+
+        Pawn::rotatePitch(value);
+    }
+
+    void SpaceShip::rotateRoll(const Vector2& value)
+    {
+        this->localAngularAcceleration_.setZ(this->localAngularAcceleration_.z() + value.x);
+
+        Pawn::rotateRoll(value);
+    }
+
+    void SpaceShip::fire()
+    {
+    }
+
+    /**
+    @brief
+        Starts or stops boosting.
+    @param bBoost
+        Whether to start or stop boosting.
+    */
+    void SpaceShip::boost(bool bBoost)
+    {	
+        if(bBoost && !this->bBoostCooldown_)
+	{
+	    //COUT(0) << "Boost startet!\n";
+            this->bBoost_ = true;
+	}
+        if(!bBoost)
+	{
+	    //COUT(0) << "Boost stoppt\n";
+	    this->resetCamera();
+            this->bBoost_ = false;
+	}
+    }
+    
+    void SpaceShip::boostCooledDown(void)
+    {
+	    this->bBoostCooldown_ = false;
+    }
     
     void SpaceShip::shakeCamera(float dt)
     {
+	    //make sure the ship is only shaking if it's moving
 	    if (this->getVelocity().squaredLength() > 80)
 	    {
@@ -208,77 +275,25 @@
 		    if (c != 0)
 		    {
-			c->setOrientation(Vector3::UNIT_X, angle);
+			    c->setOrientation(Vector3::UNIT_X, angle);
 		    }
 	    }
     }
-
-
-    void SpaceShip::boostCooledDown(void)
-    {
-        this->bBoostCooldown_ = false;
-    }
-
-    void SpaceShip::moveFrontBack(const Vector2& value)
-    {
-        this->localLinearAcceleration_.setZ(this->localLinearAcceleration_.z() - value.x);
-        this->steering_.z = -value.x;
-    }
-
-    void SpaceShip::moveRightLeft(const Vector2& value)
-    {
-        this->localLinearAcceleration_.setX(this->localLinearAcceleration_.x() + value.x);
-        this->steering_.x = value.x;
-    }
-
-    void SpaceShip::moveUpDown(const Vector2& value)
-    {
-        this->localLinearAcceleration_.setY(this->localLinearAcceleration_.y() + value.x);
-        this->steering_.y = value.x;
-    }
-
-    void SpaceShip::rotateYaw(const Vector2& value)
-    {
-        this->localAngularAcceleration_.setY(this->localAngularAcceleration_.y() + value.x);
-
-        Pawn::rotateYaw(value);
-    }
-
-    void SpaceShip::rotatePitch(const Vector2& value)
-    {
-        this->localAngularAcceleration_.setX(this->localAngularAcceleration_.x() + value.x);
-
-        Pawn::rotatePitch(value);
-    }
-
-    void SpaceShip::rotateRoll(const Vector2& value)
-    {
-        this->localAngularAcceleration_.setZ(this->localAngularAcceleration_.z() + value.x);
-
-        Pawn::rotateRoll(value);
-    }
-
-    void SpaceShip::fire()
-    {
-    }
-
-    /**
-    @brief
-        Starts or stops boosting.
-    @param bBoost
-        Whether to start or stop boosting.
-    */
-    void SpaceShip::boost(bool bBoost)
-    {	
-        if(bBoost && !this->bBoostCooldown_)
-	{
-//	    COUT(0) << "Boost startet!\n";
-            this->bBoost_ = true;
-	}
-        if(!bBoost)
-	{
-//	    COUT(0) << "Boost stoppt\n";
-	    this->resetCamera();
-            this->bBoost_ = false;
-	}
+    
+    void SpaceShip::resetCamera()
+    {
+	    
+//	    COUT(0) << "Resetting camera\n";
+	    Camera *c = this->getCamera();
+	  
+	    if (c == 0)
+	    {
+		    COUT(2) << "Failed to reset camera!";
+		    return;
+	    }
+	    
+	    shakeDt_ = 0;
+	    // 	    
+	    c->setPosition(this->cameraOriginalPosition);
+	    c->setOrientation(this->cameraOriginalOrientation);
     }
 
@@ -326,20 +341,4 @@
     }
     
-    void SpaceShip::resetCamera()
-    {
-	    
-//	    COUT(0) << "Resetting camera\n";
-	    Camera *c = this->getCamera();
-	  
-	    if (c == 0)
-	    {
-		    COUT(2) << "Failed to reset camera!";
-	    	    return;
-	    }
-	    
-	    shakeDt_ = 0;
-// 	    
-	    c->setPosition(this->cameraOriginalPosition);
-	    c->setOrientation(this->cameraOriginalOrientation);
-    }
+
 }
