diff --git a/Level.cpp b/Level.cpp
index 74232bbd5ddb3a889cbf375e9056da99aa0a0372..49e0a47e540981d2ac4f94986b225c73a5bba7ab 100644
--- a/Level.cpp
+++ b/Level.cpp
@@ -132,21 +132,19 @@ void Level::addPlayerProjectile(PlayerProjectile const& projectile)
 // weberma73121> ----------------------------------------------------------------------
 
 // <kruegerzo72182 ----------------------------------------------------------------------
-// pops the last trooper from the trooperSpawner and reduces the vector capacity
-std::unique_ptr<Enemy> Level::getTrooperSpawn()
+void Level::addTrooperFromSpawner()
 {
-    if(trooperSpawner.back() != 0){
-    std::unique_ptr<Enemy> enemy_ptr = std::move(trooperSpawner.back());
-    trooperSpawner.pop_back();
-    trooperSpawner.shrink_to_fit();
-    return enemy_ptr;
+    if(trooperSpawner.size() > 0){
+        // Where is the std::vector pop_back() method that returns an rvalue
+        // reference, dear C++ committee?! Where is it?!? --hoffmanncl72341
+        this->enemyVector_PushBack(std::move(trooperSpawner.back()));
+        trooperSpawner.pop_back();
     }
-    else return nullptr;
 }
 
 unsigned int Level::getEnemySpawnCount()
 {
-    return static_cast<unsigned int>(trooperSpawner.capacity());
+    return static_cast<unsigned int>(trooperSpawner.size());
 }
 
 void Level::enemyVector_PushBack(std::unique_ptr<Enemy> enemy_)
diff --git a/Level.hpp b/Level.hpp
index bd2666fa96fc888fe8f473f26bcb931977ed7915..8d5d8987ac452e1ce0e77d0a85465d1db459f588 100644
--- a/Level.hpp
+++ b/Level.hpp
@@ -127,7 +127,8 @@ public:
     void addScenery(Position const &topleft, SceneryType type);
     void addEnemy(std::unique_ptr<Enemy> enemy_);
     void fillTrooperSpawner(float posX, float posY, unsigned int nmbrEnemies);
-    std::unique_ptr<Enemy> getTrooperSpawn();
+    // Adds a new trooper from the trooper spawner, if any.
+    void addTrooperFromSpawner();
     unsigned int getEnemySpawnCount();
     bool checkCollision(float posX, float posY, int bufferWidth, int bufferHeigth);
     // Did an enemy entity hit the player?
diff --git a/main.cpp b/main.cpp
index 3c2ecf2c093ab16ff6bba66c4e146afc4c2adbf5..c65f8d361b47f02f292831776ee653d683529e56 100644
--- a/main.cpp
+++ b/main.cpp
@@ -92,7 +92,7 @@ public:
           trooperTimer = trooperTimer + frame_time.count();
           if(level.getEnemySpawnCount() != 0){
               if(trooperTimer > trooperSpawnTime){
-                  level.enemyVector_PushBack(level.getTrooperSpawn());
+                  level.addTrooperFromSpawner();
                   trooperTimer = 0.0f;
               }
             }