diff --git a/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java b/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java
index 4f2d51b..885d646 100644
--- a/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java
+++ b/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java
@@ -145,14 +145,14 @@
                 Method newMethod =
                     managerClass.getMethod( "getToolchainsForType", new Class[] { String.class, MavenSession.class } );
 
-                return (ToolchainPrivate[]) newMethod.invoke( toolchainManager, new Object[] { type, session } );
+                return (ToolchainPrivate[]) newMethod.invoke( toolchainManager, type, session);
             }
             catch ( NoSuchMethodException e )
             {
                 // try 2.x style API
                 Method oldMethod = managerClass.getMethod( "getToolchainsForType", new Class[] { String.class } );
 
-                return (ToolchainPrivate[]) oldMethod.invoke( toolchainManager, new Object[] { type } );
+                return (ToolchainPrivate[]) oldMethod.invoke( toolchainManager, type);
             }
         }
         catch ( NoSuchMethodException e )
