diff --git a/rapidoid-commons/src/main/java/org/rapidoid/scan/ClasspathUtil.java b/rapidoid-commons/src/main/java/org/rapidoid/scan/ClasspathUtil.java
index <HASH>..<HASH> 100644
--- a/rapidoid-commons/src/main/java/org/rapidoid/scan/ClasspathUtil.java
+++ b/rapidoid-commons/src/main/java/org/rapidoid/scan/ClasspathUtil.java
@@ -128,16 +128,18 @@ public class ClasspathUtil extends RapidoidThing {
 		}
 
 		AtomicInteger searched = new AtomicInteger();
-		List<String> classes = U.list();
+		Set<String> classes = U.set();
 
 		for (String pkg : pkgs) {
 			classes.addAll(retrieveClasses(pkg, params.annotated(), pattern, params.classLoader(), searched));
 		}
 
+		List<String> classList = U.list(classes);
+
 		long timeMs = U.time() - startingAt;
-		Log.info("Finished classpath scan", "time", timeMs + "ms", "searched", searched.get(), "!found", Msc.classNames(classes));
+		Log.info("Finished classpath scan", "time", timeMs + "ms", "searched", searched.get(), "!found", Msc.classNames(classList));
 
-		return classes;
+		return classList;
 	}
 
 	private static List<String> retrieveClasses(String packageName, Class<? extends Annotation>[] annotated,
Preventing duplicates on classpath scan.