diff --git a/interpret_qc.py b/interpret_qc.py
index 9b4cb04f026ae4b5ea557aae51b34070485ce75b..890e06e2b707c8a1488ac336cd499d096b66aafb 100644
--- a/interpret_qc.py
+++ b/interpret_qc.py
@@ -111,8 +111,8 @@ if __name__ == '__main__':
     args = parser.parse_args()
 
     if not args.serve:
-        generate_all_plots(args.ftp)
+        generate_all_plots(os.path.abspath(args.ftp))
     else:
-        global_ftp_dir = args.ftp
+        global_ftp_dir = os.path.abspath(args.ftp)
         app.run(debug=True)
     
diff --git a/main.py b/main.py
index cf2942c737c2f9068d1867fa6dd5a72dc467972a..49707e5d0e3cb58bfbdfbf5882e0964153c3ffc4 100644
--- a/main.py
+++ b/main.py
@@ -56,7 +56,7 @@ def check_frame(frame, parameters):
     return frame
 
 def update_all(ftp_dir, parameters=None):
-    cxs_files = glob(os.path.join(ftp_dir,'AE*','*B1.CXS'))
+    cxs_files = glob(os.path.join(os.path.abspath(ftp_dir),'AE*','*B1.CXS'))
     for qc_file, cxs_file, sum_file in files_to_update(cxs_files):
         print('Performing quality control for {}'.format(cxs_file))
         frame = read_frame(cxs_file, sum_file)