Index: /code/branches/pCuts/src/modules/pong/Pong.cc
===================================================================
--- /code/branches/pCuts/src/modules/pong/Pong.cc	(revision 9284)
+++ /code/branches/pCuts/src/modules/pong/Pong.cc	(revision 9285)
@@ -76,4 +76,5 @@
         // Set the type of Bots for this particular Gametype.
         this->botclass_ = Class(PongBot);
+
         this->scoreLimit_ = 10;
         this->setConfigValues();
@@ -88,4 +89,9 @@
         if (this->isInitialized())
             this->cleanup();
+    }
+
+    void Pong::setConfigValues()
+    {
+        SetConfigValue(scoreLimit_, 10).description("The player first reaching those points wins.");
     }
 
@@ -283,26 +289,19 @@
         }
 
-        // If a palyer gets 21 points, he won the game -> end of game
-
-        PlayerInfo* player1 = this->getLeftPlayer();
-        PlayerInfo* player2 = this->getRightPlayer();
-        if(player1==NULL||player2==NULL) return; //safety
-        if(this->getScore(player1) >= scoreLimit_)
-        {
-            std::string name1=player1->getName();
-            std::string message(name1 + " has won!");
-            ChatManager::message(message);
-            this->end();
-        }
-        else if(this->getScore(player2) >= scoreLimit_)
-        {
-             std::string name2=player2->getName();
-             std::string message2(name2 + " has won!");
-             ChatManager::message(message2);
+        // If a player gets enough points, he won the game -> end of game
+        PlayerInfo* winningPlayer = NULL;
+        if (this->getLeftPlayer() && this->getScore(this->getLeftPlayer()) >= scoreLimit_)
+            winningPlayer = this->getLeftPlayer();
+        else if (this->getRightPlayer() && this->getScore(this->getRightPlayer()) >= scoreLimit_)
+            winningPlayer = this->getRightPlayer();
+
+        if (winningPlayer)
+        {
+             ChatManager::message(winningPlayer->getName() + " has won!");
              this->end();
         }
+
         // Restart the timer to start the ball.
         this->starttimer_.startTimer();
-
     }
 
@@ -344,12 +343,3 @@
             return 0;
     }
-
-    /**
-     @brief
-         Make scoreLimit_ configurable e.g. in the menu.
-     */
-    void Pong::setConfigValues()
-    {
-        SetConfigValue(scoreLimit_, 10).description("The player first reaching those points wins.");
-    }
 }
Index: /code/branches/pCuts/src/modules/pong/Pong.h
===================================================================
--- /code/branches/pCuts/src/modules/pong/Pong.h	(revision 9284)
+++ /code/branches/pCuts/src/modules/pong/Pong.h	(revision 9285)
@@ -82,5 +82,5 @@
                 { this->center_ = center; }
             void setConfigValues(); //!< Makes scoreLimit configurable.
-            
+
             PlayerInfo* getLeftPlayer() const; //!< Get the left player.
             PlayerInfo* getRightPlayer() const; //!< Get the right player.
Index: /code/branches/pCuts/src/modules/pong/PongScore.cc
===================================================================
--- /code/branches/pCuts/src/modules/pong/PongScore.cc	(revision 9284)
+++ /code/branches/pCuts/src/modules/pong/PongScore.cc	(revision 9285)
@@ -60,6 +60,4 @@
         this->bShowLeftPlayer_ = false;
         this->bShowRightPlayer_ = false;
-        this->player1_ = NULL;
-        this->player2_ = NULL;
     }
 
@@ -100,48 +98,44 @@
         if (this->owner_ != NULL)
         {
-	    if(!this->owner_->hasEnded())
+            if (!this->owner_->hasEnded())
             {
-                //get the two players
+                // Get the two players.
                 player1_ = this->owner_->getLeftPlayer();
                 player2_ = this->owner_->getRightPlayer();
             }
 
-            if(this->owner_->hasStarted())
+            std::string name1;
+            std::string name2;
+
+            std::string score1("0");
+            std::string score2("0");
+
+            // Save the name and score of each player as a string.
+            if (player1_ != NULL)
             {
-                // Get the two players.
+                name1 = player1_->getName();
+                score1 = multi_cast<std::string>(this->owner_->getScore(player1_));
+            }
+            if (player2_ != NULL)
+            {
+                name2 = player2_->getName();
+                score2 = multi_cast<std::string>(this->owner_->getScore(player2_));
+            }
 
-                std::string name1;
-                std::string name2;
+            // Assemble the strings, depending on what should all be displayed.
+            std::string output1;
+            if (this->bShowLeftPlayer_)
+            {
+                if (this->bShowName_ && this->bShowScore_ && player1_ != NULL)
+                    output1 = name1 + " - " + score1;
+                else if (this->bShowScore_)
+                    output1 = score1;
+                else if (this->bShowName_)
+                    output1 = name1;
+            }
 
-                std::string score1("0");
-                std::string score2("0");
-
-                // Save the name and score of each player as a string.
-                if (player1_ != NULL)
-                {
-                    name1 = player1_->getName();
-                    score1 = multi_cast<std::string>(this->owner_->getScore(player1_));
-                }
-                if (player2_ != NULL)
-                {
-                    name2 = player2_->getName();
-                    score2 = multi_cast<std::string>(this->owner_->getScore(player2_));
-                }
-
-                // Assemble the strings, depending on what should all be displayed.
-                std::string output1;
-                if (this->bShowLeftPlayer_)
-                {
-                    if (this->bShowName_ && this->bShowScore_ && player1_ != NULL)
-                         output1 = name1 + " - " + score1;
-                    else if (this->bShowScore_)
-                         output1 = score1;
-                    else if (this->bShowName_)
-                         output1 = name1;
-                }
-
-                std::string output2;
-                if (this->bShowRightPlayer_)
-                {
+            std::string output2;
+            if (this->bShowRightPlayer_)
+            {
                 if (this->bShowName_ && this->bShowScore_ && player2_ != NULL)
                     output2 = score2 + " - " + name2;
@@ -152,14 +146,14 @@
             }
 
-                std::string output("PONG");
-                if (this->bShowName_ || this->bShowScore_)
-                {
-                    if (this->bShowLeftPlayer_ && this->bShowRightPlayer_)
-                        output = output1 + ':' + output2;
-                    else if (this->bShowLeftPlayer_ || this->bShowRightPlayer_)
-                        output = output1 + output2;
-                }
-                this->setCaption(output);
+            std::string output("PONG");
+            if (this->bShowName_ || this->bShowScore_)
+            {
+                if (this->bShowLeftPlayer_ && this->bShowRightPlayer_)
+                    output = output1 + ':' + output2;
+                else if (this->bShowLeftPlayer_ || this->bShowRightPlayer_)
+                    output = output1 + output2;
             }
+
+            this->setCaption(output);
         }
     }
