diff --git a/.DS_Store b/.DS_Store
index 913c42ef74a0c7c241042ffa91b4b4499f7d93f7..cced00e0cc07be1c2adb00cede0f568aa8b797e6 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/inc/Node.h b/inc/Node.h
index 43e69650bedf25d49006b9bb0f0124c7db20a6dc..ddf0dd00fb0f9cf948b32479cd9fba3ec9df9569 100644
--- a/inc/Node.h
+++ b/inc/Node.h
@@ -12,6 +12,10 @@
 #include <dirent.h>
 #include <sys/types.h>
 
+#include <stdio.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
 #include "Messages.h"
 #include "Modes.h"
 #include "Member.h"
diff --git a/src/main.cpp b/src/main.cpp
index 29334e2d2d2f9989f6d4011688f678063a802b4d..adb19ed9b0a92273f34b0a5c3389a7bccae841a5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -166,9 +166,9 @@ int main(int argc, char *argv[])
 				cout << "USAGE: maple maple_exe num_maples sdfs_intermediate_dir sdfs_src_dir" << endl;
 				continue;
 			}
-			if (FILE *file = fopen(cmdLineInput[1].c_str(), "r")) {
-				fclose(file);
-			} else {
+			struct stat sb;
+			if (stat(cmdLineInput[1].c_str(), &sb) == 0 && sb.st_mode & S_IXUSR) { cout << endl; }
+			else {
 				cout << "[MAPLE] " << cmdLineInput[1] << " does not exist locally" << endl;
 				continue;
 			}