diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java
index a750f84..90e1124 100644
--- a/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/Main.java
@@ -72,7 +72,8 @@ public final class Main extends JavaPlugin {
             new PreventLiquidsFlowListener(),
             new PreventPistonsListener(),
             new PreventEntityPlacementListener(),
-            new DiscoverRecipesListener()
+            new DiscoverRecipesListener(),
+            new QuitWhileInPixelBlockListener()
         };
 
         for (Listener listener : listeners) {
@@ -87,6 +88,7 @@ public final class Main extends JavaPlugin {
 
     @Override
     public void onDisable() {
+        Bukkit.getOnlinePlayers().forEach(QuitWhileInPixelBlockListener::kickPlayerOutOfWorld);
         try {
             database.close();
         } catch (SQLException e) {
diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/QuitWhileInPixelBlockListener.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/QuitWhileInPixelBlockListener.java
index 81856da..ca03ed2 100644
--- a/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/QuitWhileInPixelBlockListener.java
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/QuitWhileInPixelBlockListener.java
@@ -3,6 +3,7 @@ package eu.mhsl.minecraft.pixelblocks.listeners;
 import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
 import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld;
 import org.bukkit.World;
+import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.Listener;
 import org.bukkit.event.player.PlayerQuitEvent;
@@ -12,10 +13,14 @@ import java.util.Objects;
 public class QuitWhileInPixelBlockListener implements Listener {
     @EventHandler
     public void onLeave(PlayerQuitEvent event) {
-        World pixelBlockWorld = event.getPlayer().getLocation().getWorld();
+        kickPlayerOutOfWorld(event.getPlayer());
+    }
+
+    public static void kickPlayerOutOfWorld(Player player) {
+        World pixelBlockWorld = player.getLocation().getWorld();
         if(!PixelBlockWorld.isPixelWorld(pixelBlockWorld)) return;
         PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(pixelBlockWorld);
         Objects.requireNonNull(pixelBlock);
-        pixelBlock.exitBlock(event.getPlayer());
+        pixelBlock.exitBlock(player);
     }
 }