diff --git a/tools/src/main/scala/org/apache/spark/tools/GenerateMIMAIgnore.scala b/tools/src/main/scala/org/apache/spark/tools/GenerateMIMAIgnore.scala
index 3fb85e1ff73a8f8180c6ba07d9219f791c21aca2..d9978b02a9f3e1e32afb03e515d597233733ceff 100644
--- a/tools/src/main/scala/org/apache/spark/tools/GenerateMIMAIgnore.scala
+++ b/tools/src/main/scala/org/apache/spark/tools/GenerateMIMAIgnore.scala
@@ -41,7 +41,7 @@ object GenerateMIMAIgnore {
 
   private def classesPrivateWithin(packageName: String): Set[String] = {
 
-    val classes = getClasses(packageName, classLoader)
+    val classes = getClasses(packageName)
     val privateClasses = mutable.HashSet[String]()
 
     def isPackagePrivate(className: String) = {
@@ -108,8 +108,7 @@ object GenerateMIMAIgnore {
    * Scans all classes accessible from the context class loader which belong to the given package
    * and subpackages both from directories and jars present on the classpath.
    */
-  private def getClasses(packageName: String,
-      classLoader: ClassLoader = Thread.currentThread().getContextClassLoader): Set[String] = {
+  private def getClasses(packageName: String): Set[String] = {
     val path = packageName.replace('.', '/')
     val resources = classLoader.getResources(path)
 
@@ -128,7 +127,7 @@ object GenerateMIMAIgnore {
     val jar = new JarFile(new File(jarPath))
     val enums = jar.entries().map(_.getName).filter(_.startsWith(packageName))
     val classes = for (entry <- enums if entry.endsWith(".class"))
-      yield Class.forName(entry.replace('/', '.').stripSuffix(".class"))
+      yield Class.forName(entry.replace('/', '.').stripSuffix(".class"), false, classLoader)
     classes
   }
 }