diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java
index a75c70143dcbaa71f37fc76ff2fa3abc6ee1561f..550fe92967678b0752a46bb94a39543c8859dd36 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java
@@ -3,18 +3,23 @@ package de.hdm_stuttgart.battlearena.Controller;
 import de.hdm_stuttgart.battlearena.Controller.Enum.GameState;
 import de.hdm_stuttgart.battlearena.Controller.Utilities.CreateMediaPlayer;
 import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader;
+import de.hdm_stuttgart.battlearena.Main.Driver;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.ENUMs.AccountType;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.RuntimeInfo;
 import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
+import javafx.fxml.LoadException;
 import javafx.geometry.Rectangle2D;
 import javafx.scene.control.Button;
 import javafx.scene.image.ImageView;
 import javafx.scene.layout.StackPane;
+import javafx.scene.media.MediaException;
 import javafx.scene.media.MediaPlayer;
 import javafx.scene.media.MediaView;
 import javafx.stage.Screen;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.net.URL;
@@ -39,6 +44,7 @@ public class MenuBorderPaneController implements Initializable {
     List<String> shuffledVideos = Arrays.asList(videoFiles);
     Rectangle2D screen = Screen.getPrimary().getVisualBounds();
     RuntimeInfo runtimeInfo = RuntimeInfo.getInstance();
+    private static final Logger log = LogManager.getLogger(MenuBorderPaneController.class);
 
     @Override
     public void initialize(URL url, ResourceBundle resourceBundle) {
@@ -53,7 +59,6 @@ public class MenuBorderPaneController implements Initializable {
         imgRight.setPreserveRatio(true);
         imgLeft.setFitWidth(imageWidth);
         imgLeft.setPreserveRatio(true);
-
         easterEgg();
 
 //      shuffle meme order
@@ -68,7 +73,6 @@ public class MenuBorderPaneController implements Initializable {
             }
         });
 
-
         btnLeft.setOnMouseClicked(mouseEvent -> {
 //            make background music continue play after there is no meme left
             if (videoCounter == shuffledVideos.size()) {
@@ -82,13 +86,17 @@ public class MenuBorderPaneController implements Initializable {
             if (videoCounter < videoFiles.length) {
                 String nextVideo = shuffledVideos.get(videoCounter);
                 runtimeInfo.setGameState(GameState.NONE);
-                mediaPlayer = new CreateMediaPlayer().getMediaPlayer(mediaView, new File("src/main/resources/videos/" + nextVideo + ".mp4"), false);
-                mediaView = new MediaView(mediaPlayer);
-                center.getChildren().add(mediaView);
-                mediaPlayer.setOnEndOfMedia(() -> {
-                    center.getChildren().remove(mediaView);
-                    runtimeInfo.setGameState(GameState.MENU);
-                });
+                try {
+                    mediaPlayer = new CreateMediaPlayer().getMediaPlayer(mediaView, new File("src/main/resources/videos/" + nextVideo + ".mp4"), false);
+                    mediaView = new MediaView(mediaPlayer);
+                    center.getChildren().add(mediaView);
+                    mediaPlayer.setOnEndOfMedia(() -> {
+                        center.getChildren().remove(mediaView);
+                        runtimeInfo.setGameState(GameState.MENU);
+                    });
+                } catch (MediaException e) {
+                    log.error(e);
+                }
             }
             videoCounter++;
         });
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java
index 195aaaa6af32a6356b9e4ee94d1e704d96b45fae..36a85f3392ca65235a13d57c8a246b04ffc05c63 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/SettingsController.java
@@ -2,6 +2,7 @@ package de.hdm_stuttgart.battlearena.Controller;
 
 import de.hdm_stuttgart.battlearena.Controller.Enum.GameState;
 import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader;
+import de.hdm_stuttgart.battlearena.Main.Driver;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.RuntimeInfo;
 import de.hdm_stuttgart.battlearena.Model.Sound.MusicPlayer;
@@ -9,8 +10,12 @@ import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects;
 import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
 import javafx.fxml.Initializable;
+import javafx.fxml.LoadException;
 import javafx.scene.control.Slider;
 import javafx.scene.layout.VBox;
+import javafx.scene.media.MediaException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.IOException;
 import java.net.URL;
@@ -27,6 +32,7 @@ public class SettingsController implements Initializable {
     private final Persistence persistence = Persistence.getInstance();
     private final MusicPlayer player = MusicPlayer.getInstance();
     private final SoundEffects sfx = new SoundEffects();
+    private static final Logger log = LogManager.getLogger(SettingsController.class);
 
     @Override
     public void initialize(URL url, ResourceBundle resourceBundle) {
@@ -36,9 +42,12 @@ public class SettingsController implements Initializable {
 
     @FXML
     private void creditScene() throws IOException {
-        RuntimeInfo.getInstance().setGameState(GameState.NONE);
-        parent.getChildren().clear();
-        parent.getScene().setRoot(FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/credits.fxml"))));
+        try {
+            RuntimeInfo.getInstance().setGameState(GameState.NONE);
+            parent.getScene().setRoot(FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/credits.fxml"))));
+        } catch (LoadException e) {
+            log.error(e);
+        }
     }
 
     @FXML
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/CreateMediaPlayer.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/CreateMediaPlayer.java
index 4bf6c165db835d9908078118b40628cbfbc2350a..77b75f557afdfa53dcb6b66fe78603e873be2385 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/CreateMediaPlayer.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/CreateMediaPlayer.java
@@ -2,13 +2,14 @@ package de.hdm_stuttgart.battlearena.Controller.Utilities;
 
 import javafx.scene.layout.BorderPane;
 import javafx.scene.media.Media;
+import javafx.scene.media.MediaException;
 import javafx.scene.media.MediaPlayer;
 import javafx.scene.media.MediaView;
 
 import java.io.File;
 
 public class CreateMediaPlayer {
-    public MediaPlayer getMediaPlayer(MediaView mediaView, File file, boolean isFullscreen, BorderPane... parent) {
+    public MediaPlayer getMediaPlayer(MediaView mediaView, File file, boolean isFullscreen, BorderPane... parent) throws MediaException {
         Media media = new Media(file.toURI().toString());
         MediaPlayer mediaPlayer = new MediaPlayer(media);
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java b/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java
index 83297700dd3dff0d7550224eef882ca59a72d8e4..2a12b7cc499eb7f2caf792c736de439c1fe4201a 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Main/Driver.java
@@ -9,6 +9,7 @@ import javafx.application.Application;
 import javafx.application.Platform;
 import javafx.event.EventHandler;
 import javafx.fxml.FXMLLoader;
+import javafx.fxml.LoadException;
 import javafx.geometry.Rectangle2D;
 import javafx.scene.Parent;
 import javafx.scene.Scene;
@@ -30,6 +31,7 @@ public class Driver extends Application {
     Rectangle2D screen = Screen.getPrimary().getVisualBounds();
 
     InputHandler inputHandler = InputHandler.getInstance();
+    Parent root;
 
 
 
@@ -40,8 +42,11 @@ public class Driver extends Application {
         Font.loadFont(getClass().getResourceAsStream("/fonts/AmaticSC-Bold.ttf"), 50);
         Font.loadFont(getClass().getResourceAsStream("/fonts/Arthemis-mLA22.ttf"), 50);
         Font.loadFont(getClass().getResourceAsStream("/fonts/ShadowsIntoLight-Regular.ttf"), 50);
-
-        Parent root =  FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/Intro.fxml")));
+        try {
+            root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/Intro.fxml")));
+        } catch (LoadException e) {
+            root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/LoadingScreen.fxml")));
+        }
 
         Scene scene = new Scene(root);