diff --git a/python_payload/apps/fil3s/browser.py b/python_payload/apps/fil3s/browser.py
index e41b6eb36e05818318736ae9fe1a70add45c50e1..682c8b74b7476b38fb09f2b99481cf6558d48b1e 100644
--- a/python_payload/apps/fil3s/browser.py
+++ b/python_payload/apps/fil3s/browser.py
@@ -117,11 +117,18 @@ class Browser(ActionView):
     def _select(self) -> None:
         name = self.dir_entries[self.current_pos][0]
 
-        if self._is_dir(self.path + name):
-            self._change_path(self.path + name + "/")
-        else:
-            self.update_path(self.path + name)
-            self.navigate("reader")
+        old_path = self.path
+        new_path = self.path + name
+        try:
+            if self._is_dir(new_path):
+                self._change_path(new_path + "/")
+            else:
+                self.update_path(self.path + name)
+                self.navigate("reader")
+        except Exception as e:
+            # TODO: Create error view
+            print(f"Failed to open {new_path}: {e}")
+            self._change_path(old_path)
 
     def _up(self) -> None:
         if not self.up_enabled or len(self.path) <= 1: