diff --git a/src/fr/inrialpes/exmo/align/util/EvalAlign.java b/src/fr/inrialpes/exmo/align/util/EvalAlign.java
index 3d176fcbdbca456ddd8124d52f65a7fb3ae6e84a..6fd5523cb7aa1bb82139f8d18c9d1cfe8fdffd0c 100644
--- a/src/fr/inrialpes/exmo/align/util/EvalAlign.java
+++ b/src/fr/inrialpes/exmo/align/util/EvalAlign.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) 2003-2004 INRIA Rhône-Alpes.
+ * Copyright (C) 2003-2005 INRIA Rhône-Alpes.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -177,9 +177,11 @@ public class EvalAlign {
 	    if ( classname != null ) {
 		try {
 		    Object [] mparams = {(Object)align1, (Object)align2};
+		    Class oClass = Class.forName("org.semanticweb.owl.align.Alignment");
+		    Class[] cparams = { oClass, oClass };
 		    Class evaluatorClass =  Class.forName(classname);
-		    java.lang.reflect.Constructor[] evaluatorConstructors = evaluatorClass.getConstructors();
-		    eval = (Evaluator)evaluatorConstructors[0].newInstance(mparams);
+		    java.lang.reflect.Constructor evaluatorConstructor = evaluatorClass.getConstructor(cparams);
+		    eval = (Evaluator)evaluatorConstructor.newInstance(mparams);
 		} catch (Exception ex) {
 		    System.err.println("Cannot create alignment " + 
 				       classname + "\n" + ex.getMessage() );
diff --git a/src/fr/inrialpes/exmo/align/util/ParserPrinter.java b/src/fr/inrialpes/exmo/align/util/ParserPrinter.java
index 3265ed42de3ad1081a523c006d522f827f057d15..cf5f08d8cd4b3fa62169bdb44309a00c37a61074 100644
--- a/src/fr/inrialpes/exmo/align/util/ParserPrinter.java
+++ b/src/fr/inrialpes/exmo/align/util/ParserPrinter.java
@@ -199,12 +199,12 @@ public class ParserPrinter {
 	    if ( rendererClass == null ) renderer = new RDFRendererVisitor( writer );
 	    else {
 		try {
-		    //renderer = (AlignmentVisitor) ClassLoader.getSystemClassLoader().loadClass(renderingClass).newInstance();
-		Object[] mparams = {(Object) writer };
-		java.lang.reflect.Constructor[] rendererConstructors =
-		    Class.forName(rendererClass).getConstructors();
-		renderer =
-		    (AlignmentVisitor) rendererConstructors[0].newInstance(mparams);
+		    Object[] mparams = {(Object) writer };
+		    Class[] cparams = {Class.forName("java.io.writer")};
+		    java.lang.reflect.Constructor rendererConstructor =
+			Class.forName(rendererClass).getConstructor(cparams);
+		    renderer =
+			(AlignmentVisitor) rendererConstructor.newInstance(mparams);
 		} catch (Exception ex) {
 		    System.err.println("Cannot create renderer " + 
 				       rendererClass + "\n" + ex.getMessage() );
diff --git a/src/fr/inrialpes/exmo/align/util/Procalign.java b/src/fr/inrialpes/exmo/align/util/Procalign.java
index 43adeb535f8523f0bf969931e34644e8f822c907..ededaa951a20c6e2392c27640eb3517458a1fa10 100644
--- a/src/fr/inrialpes/exmo/align/util/Procalign.java
+++ b/src/fr/inrialpes/exmo/align/util/Procalign.java
@@ -267,9 +267,10 @@ public class Procalign {
 		// Create alignment object
 		Object[] mparams = {(Object)onto1, (Object)onto2 };
 		Class alignmentClass = Class.forName(alignmentClassName);
-		java.lang.reflect.Constructor[] alignmentConstructors =
-		    alignmentClass.getConstructors();
-		result = (AlignmentProcess)alignmentConstructors[0].newInstance(mparams);
+		Class oClass = Class.forName("org.semanticweb.owl.model.OWLOntology");
+		Class[] cparams = { oClass, oClass };
+		java.lang.reflect.Constructor alignmentConstructor = alignmentClass.getConstructor(cparams);
+		result = (AlignmentProcess)alignmentConstructor.newInstance(mparams);
 		result.setFile1(uri1);
 		result.setFile2(uri2);
 	    } catch (Exception ex) {