diff --git a/src/fr/inra/pappso/xtandempipeline/thread/base_shell.java b/src/fr/inra/pappso/xtandempipeline/thread/base_shell.java
index 655bcba2a80183d8b1ac92018447a84893aa32a3..35ac9f1e76f31c64d3363f368af43f09576fe13c 100644
--- a/src/fr/inra/pappso/xtandempipeline/thread/base_shell.java
+++ b/src/fr/inra/pappso/xtandempipeline/thread/base_shell.java
@@ -45,6 +45,15 @@ public class base_shell {
 	public void start_process() throws Exception {
 		if (application.equals(""))
 			throw new MSMSException("No application specified");
+		File appFile = new File(application);
+		if (!appFile.exists()) {
+			throw new MSMSException("no command file named : \n"
+					+ appFile.getAbsolutePath());
+		}
+		if (!appFile.canExecute()) {
+			throw new MSMSException("unable to execute command : \n"
+					+ appFile.getAbsolutePath());
+		}
 		build = new ProcessBuilder(commande);
 		build.redirectErrorStream(true);
 		process_run = build.start();
@@ -92,7 +101,7 @@ public class base_shell {
 					while (line != -1) {
 						// processing(line);
 						stdout.append((char) line);
-						//System.out.print((char)line);
+						// System.out.print((char)line);
 						line = reader.read();
 					}
 				} finally {