Index: code/branches/ai2/src/modules/overlays/hud/HUDNavigation.cc
===================================================================
--- code/branches/ai2/src/modules/overlays/hud/HUDNavigation.cc	(revision 8874)
+++ code/branches/ai2/src/modules/overlays/hud/HUDNavigation.cc	(revision 8875)
@@ -164,14 +164,11 @@
 
     unsigned int markerCount_ = 0;
-    bool closeEnough_ = false; //inly display objects that are close enough to be relevant for the player
+    bool closeEnough_ = false; //only display objects that are close enough to be relevant for the player
 //         for (ObjectMap::iterator it = activeObjectList_.begin(); it != activeObjectList_.end(); ++it)
     for ( sortedList::iterator listIt = sortedObjectList_.begin(); listIt != sortedObjectList_.end(); ++markerCount_, ++listIt )
     {
         ObjectMap::iterator it = activeObjectList_.find ( listIt->first );
-        if( detectionLimit_ < 0 )
-            closeEnough_ = true ;
-        else
-            closeEnough_ = listIt->second < detectionLimit_ ;
-        if ( markerCount_ < markerLimit_ && closeEnough_ ) // display on HUD íf statement is true
+        closeEnough_ = listIt->second < detectionLimit_ ;
+        if ( markerCount_ < markerLimit_ && (closeEnough_ ||  detectionLimit_ < 0) ) // display on HUD if the statement is true
         {
 
Index: code/branches/ai2/src/modules/overlays/hud/HUDRadar.cc
===================================================================
--- code/branches/ai2/src/modules/overlays/hud/HUDRadar.cc	(revision 8874)
+++ code/branches/ai2/src/modules/overlays/hud/HUDRadar.cc	(revision 8875)
@@ -124,15 +124,7 @@
 
     void HUDRadar::objectChanged( RadarViewable* rv )
-    {
-        if(rv == dynamic_cast<RadarViewable*>(this->owner_)) //case: player changed
-            return;
-        if( showObject(rv) == false ) //case: (radar) invisible object changed
-            return;
-        if( this->radarObjects_.find(rv) == this->radarObjects_.end() ) // if (radar) invisibility becomes (radar) visible
-            this->addObject(rv);
-        assert( this->radarObjects_.find(rv) != this->radarObjects_.end() );
-        Ogre::PanelOverlayElement* panel = this->radarObjects_[rv];
-        panel->setMaterialName(TextureGenerator::getMaterialName(
-            shapeMaterials_[rv->getRadarObjectShape()], rv->getRadarObjectColour()));
+    {// The new implementation behaves more precisely, since inactive RadarViewables are not displayed anymore.
+        this->removeObject(rv);
+        this->addObject(rv);
     }
 
Index: code/branches/ai2/src/orxonox/LevelManager.cc
===================================================================
--- code/branches/ai2/src/orxonox/LevelManager.cc	(revision 8874)
+++ code/branches/ai2/src/orxonox/LevelManager.cc	(revision 8875)
@@ -87,5 +87,5 @@
     void LevelManager::setConfigValues()
     {
-        SetConfigValue(defaultLevelName_, "presentationDM.oxw")
+        SetConfigValue(defaultLevelName_, "missionOne.oxw")
             .description("Sets the pre selection of the level in the main menu.");
     }
@@ -158,5 +158,5 @@
         if (this->levels_.size() > 0)
         {
-            // Activate the level that is the first in the list of levels whose activity has been requested. 
+            // Activate the level that is the first in the list of levels whose activity has been requested.
             this->levels_.front()->setActive(true);
             // Make every player enter the newly activated level.
@@ -272,5 +272,5 @@
                 Loader::unload(&file);
 
-                if(info == NULL) 
+                if(info == NULL)
                 {
                     // Create a default LevelInfoItem object that merely contains the name
Index: code/branches/ai2/src/orxonox/interfaces/RadarViewable.h
===================================================================
--- code/branches/ai2/src/orxonox/interfaces/RadarViewable.h	(revision 8874)
+++ code/branches/ai2/src/orxonox/interfaces/RadarViewable.h	(revision 8875)
@@ -38,5 +38,5 @@
 #include "core/OrxonoxClass.h"
 #include "core/SmartPtr.h"
-
+//TODO: if a RadarViewable changes visibility or activity, the event is not correctly working
 namespace orxonox
 {
Index: code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.cc	(revision 8874)
+++ code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.cc	(revision 8875)
@@ -452,3 +452,18 @@
         this->isHumanShip_ = true;
     }
+
+    void Pawn::changedActivity(void)
+    {
+        SUPER(Pawn, changedActivity);
+
+        this->setRadarVisibility(this->isActive());
+    }
+
+    void Pawn::changedVisibility(void)
+    {
+        SUPER(Pawn, changedVisibility);
+        //this->setVisible(this->isVisible());
+        this->setRadarVisibility(this->isVisible());
+    }
+
 }
Index: code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.h
===================================================================
--- code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.h	(revision 8874)
+++ code/branches/ai2/src/orxonox/worldentities/pawns/Pawn.h	(revision 8875)
@@ -170,4 +170,6 @@
             virtual const Vector3& getCarrierPosition(void) const
                 { return this->getWorldPosition(); };
+            virtual void changedActivity(void); //!< To enable radarviewability when the activity is changed
+            virtual void changedVisibility(void); //!< To enable proper radarviewability when the visibility is changed
 
         protected:
