diff --git a/src/main/java/org/testng/TestNG.java b/src/main/java/org/testng/TestNG.java
index ff6246e..7a81cca 100644
--- a/src/main/java/org/testng/TestNG.java
+++ b/src/main/java/org/testng/TestNG.java
@@ -1302,7 +1302,7 @@
 
     List<Class> listeners = (List<Class>) cmdLineArgs.get(CommandLineArgs.LISTENER);
     if (null != listeners) {
-      result.listener = Utils.join(listeners, " ");
+      result.listener = Utils.joinClasses(listeners, " ");
     }
 
     String ms = (String) cmdLineArgs.get(CommandLineArgs.METHOD_SELECTORS);
diff --git a/src/main/java/org/testng/internal/Utils.java b/src/main/java/org/testng/internal/Utils.java
index cdcb84d..6305063 100644
--- a/src/main/java/org/testng/internal/Utils.java
+++ b/src/main/java/org/testng/internal/Utils.java
@@ -685,7 +685,7 @@
     return sb.toString();
   }
 
-  public static String join(List<Class> classes, String separator) {
+  public static String joinClasses(List<Class> classes, String separator) {
     StringBuilder sb = new StringBuilder();
     int i = 0;
     for (Class s : classes) {
