diff --git a/src/faction.c b/src/faction.c
index 86d90ec..70de48d 100644
--- a/src/faction.c
+++ b/src/faction.c
@@ -126,7 +126,7 @@ int faction_getPlayer(int f) {
 
 /* Get the colour of the faction based on its standing with the player. */
 glColour* faction_getColour(int f) {
-  if(f == -1) return &cInert;
+  if(f < 0) return &cInert;
   else if(areAllies(FACTION_PLAYER, f))   return &cFriend;
   else if(areEnemies(FACTION_PLAYER, f))  return &cHostile;
   else return &cNeutral;
diff --git a/src/space.c b/src/space.c
index b96e941..5f092ec 100644
--- a/src/space.c
+++ b/src/space.c
@@ -101,10 +101,9 @@ void planets_minimap(const double res, const double w,
   for(i = 0; i < cur_system->nplanets; i++) {
     planet = &cur_system->planets[i];
 
-    if(!planet_hasService(planet, PLANET_SERVICE_BASIC))
-      col = &cInert;
-    else
-      col = faction_getColour(planet->faction);
+    col = faction_getColour(planet->faction);
+    if((col != &cHostile) && !planet_hasService(planet, PLANET_SERVICE_BASIC))
+      col = &cInert;  /* Override non-hostile planets without services. */
     COLOUR(*col);
 
     r = (int)(cur_system->planets[i].gfx_space->sw / res);