diff --git a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java
index 61be6c920ce95943c34e952f24224aae1656dcd8..df214b77323c3e901aaf1069422b514e1f297d13 100644
--- a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java
+++ b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java
@@ -94,9 +94,10 @@ public class BasicParameters implements Parameters {
     }
 
     public static Parameters read(String filename){
-	Parameters p = new BasicParameters();
-	//	String filename = "params.xml";
+	return read(new BasicParameters(), filename);
+    }
 
+    public static Parameters read(Parameters p, String filename){
 	try {
 	    // open the stream
 	    DocumentBuilderFactory docBuilderFactory =
diff --git a/src/fr/inrialpes/exmo/align/util/GroupAlign.java b/src/fr/inrialpes/exmo/align/util/GroupAlign.java
index 78ab22b893b4cf16a39966ef5f0807dd0c751468..812b54a1030129551ccd3e09dc793cb716f56353 100644
--- a/src/fr/inrialpes/exmo/align/util/GroupAlign.java
+++ b/src/fr/inrialpes/exmo/align/util/GroupAlign.java
@@ -137,7 +137,7 @@ public class GroupAlign {
 	// Is there a way for that in LongOpt ???
 	longopts[11] = new LongOpt("D", LongOpt.REQUIRED_ARGUMENT, null, 'D');
 
-	Getopt g = new Getopt("", args, "ho:a:d::n:u:r:i:s:t:p::D::", longopts);
+	Getopt g = new Getopt("", args, "ho:a:d::n:u:r:i:s:t:p:D:", longopts);
 	int c;
 	String arg;
 
@@ -212,6 +212,9 @@ public class GroupAlign {
 
 	int i = g.getOptind();
 
+	if (debug == 0 && params.getParameter("debug") != null) {
+	    debug = Integer.parseInt((String)params.getParameter("debug"));
+	}
 	if (debug > 0) params.setParameter("debug", new Integer(debug-1));
 
 	iterateDirectories();
diff --git a/src/fr/inrialpes/exmo/align/util/Procalign.java b/src/fr/inrialpes/exmo/align/util/Procalign.java
index 52091c615434f06201ac92557680d36f760d08d3..2de765efecd0b7cfc33c8bcfb8c04c3228f900bf 100644
--- a/src/fr/inrialpes/exmo/align/util/Procalign.java
+++ b/src/fr/inrialpes/exmo/align/util/Procalign.java
@@ -148,7 +148,7 @@ public class Procalign {
 	// Is there a way for that in LongOpt ???
 	longopts[9] = new LongOpt("D", LongOpt.REQUIRED_ARGUMENT, null, 'D');
 
-	Getopt g = new Getopt("", args, "ho:a:p:d::r:t:T:i:D::", longopts);
+	Getopt g = new Getopt("", args, "ho:a:p:d::r:t:T:i:D:", longopts);
 	int c;
 	String arg;
 
@@ -215,6 +215,12 @@ public class Procalign {
 	
 	int i = g.getOptind();
 
+	if (debug > 0) {
+	    params.setParameter("debug", new Integer(debug));
+	} else if ( params.getParameter("debug") != null ) {
+	    debug = Integer.parseInt((String)params.getParameter("debug"));
+	}
+
 	loadedOntologies = new Hashtable();
 	if (debug > 0) {
 	    params.setParameter("debug", new Integer(debug));
diff --git a/src/org/semanticweb/owl/align/Parameters.java b/src/org/semanticweb/owl/align/Parameters.java
index 383c2c297d6ddb1b4d6ce761aaaf58da309a1d99..da0183f0232354adc39594643d21600b8b7e37d5 100644
--- a/src/org/semanticweb/owl/align/Parameters.java
+++ b/src/org/semanticweb/owl/align/Parameters.java
@@ -43,5 +43,6 @@ public interface Parameters {
     public Enumeration getNames();
 
     public void write();
-    //public static Parameters read();
+    //public static Parameters read(String filename);
+    //public static Parameters read(Parameters params, String filename);
 }