diff --git a/src/main/java/no/nibio/vips/model/factory/ModelFactory.java b/src/main/java/no/nibio/vips/model/factory/ModelFactory.java
index 4edc6756ac85dcb3e4061c594b8faea4be603f31..ae55f7001c7e7e0117bdaa4a9c7f5cb6951e6b6b 100755
--- a/src/main/java/no/nibio/vips/model/factory/ModelFactory.java
+++ b/src/main/java/no/nibio/vips/model/factory/ModelFactory.java
@@ -19,6 +19,8 @@
 
 package no.nibio.vips.model.factory;
 
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -143,7 +145,7 @@ public class ModelFactory {
         for(Class<? extends Model> subType : subTypes)
         {
                try {
-                   Model model = subType.newInstance();
+                   Model model = subType.getDeclaredConstructor().newInstance();
                    if(models.get(model.getModelId().toString()) == null)
                    {
                         models.put(model.getModelId().toString(), model);
@@ -158,7 +160,8 @@ public class ModelFactory {
                        throw new DuplicateModelIdException(message);
                    }
                    //System.out.println("Model " + model.getModelName() + " with id=" + model.getModelId().toString() + " was found");
-               } catch (    InstantiationException | IllegalAccessException | DuplicateModelIdException | NoClassDefFoundError ex) {
+               } catch (InstantiationException | IllegalAccessException | DuplicateModelIdException | NoClassDefFoundError | NoSuchMethodException |
+                        InvocationTargetException ex) {
                    Logger.getLogger(ModelFactory.class.getName()).log(Level.SEVERE, null, ex);
                }
         }