diff --git a/tracewin b/tracewin
index 5dd53831017bc02286fe85bd4f95bedba1068fb6..9f63df2f2b414aab159b86f30209d1e12f47e38c 100644
--- a/tracewin
+++ b/tracewin
@@ -26,6 +26,10 @@ args = parser.parse_args()
 # A list to be filled depending on arguments given...
 cmd = ["TraceWin64_noX11", "'"+args.project+"'"]
 
+# Check that project path exist:
+if not os.path.isfile(args.project):
+    raise ValueError('Project file does not exist')
+
 if args.lattice:
     cmd.append("dat_file="+args.lattice)
 if args.frequency:
@@ -37,6 +41,9 @@ if args.npart:
 if args.energy:
     cmd.append("energy1="+args.energy)
 if args.outpath:
+    if not os.path.isdir(args.outpath):
+        print "WARNING: output directory does not exist, creating.."
+        os.makedirs(args.outpath)
     cmd.append("path_cal='"+os.path.abspath(args.outpath)+"'")
 if args.seed:
     cmd.append("random_seed="+str(args.seed))