diff --git a/pycardium/modules/os.c b/pycardium/modules/os.c
index 0bbfc05cf22512f358a838a74fa16ac29e954bd8..874a069322faaefaff63c493ebb10d3aa8ffb382 100644
--- a/pycardium/modules/os.c
+++ b/pycardium/modules/os.c
@@ -10,12 +10,20 @@
 
 #include "os.h"
 
-bool pycrd_filename_restricted(const char *fname)
+bool pycrd_filename_restricted(const char *path)
 {
 	// files that cannot be opened in write modes
 	const char *const forbidden_files[] = {
 		"card10.bin", "menu.py", "main.py", "card10.cfg"
 	};
+
+	const char *fname = strchr(path, '/');
+	while (fname) {
+		path  = fname + 1;
+		fname = strchr(path, '/');
+	}
+	fname = path;
+
 	for (int i = 0;
 	     i < sizeof(forbidden_files) / sizeof(forbidden_files[0]);
 	     i++) {