diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9d06fb7..69fc46b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -158,6 +158,7 @@
 Gilles Scokart
 Glenn McAllister
 Glenn Twiggs
+Gösen
 Greg Nelson
 Greg Roodt
 Greg Schueler
diff --git a/WHATSNEW b/WHATSNEW
index bf2406a..9473c71 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -19,6 +19,10 @@
    and system-out
    Bugzilla Report 63436
 
+ * Fixes a bug in junitlauncher task's legacy-xml formatter, where the testcase
+   representing a @Parameterized JUnit4 test wasn't being reported in the XML.
+   Bugzilla Report 64952
+
 Other changes:
 --------------
 
diff --git a/contributors.xml b/contributors.xml
index a2969b5..bd46c45 100644
--- a/contributors.xml
+++ b/contributors.xml
@@ -665,6 +665,10 @@
     <last>Twiggs</last>
   </name>
   <name>
+    <first>Gösen</first>
+    <last></last>
+  </name>
+  <name>
     <first>Greg</first>
     <last>Nelson</last>
   </name>
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LegacyXmlResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LegacyXmlResultFormatter.java
index 35df278..d86c35b 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LegacyXmlResultFormatter.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LegacyXmlResultFormatter.java
@@ -407,9 +407,14 @@
 
         private Optional<ClassSource> findFirstParentClassSource(final TestIdentifier testId) {
             final Optional<TestIdentifier> parent = testPlan.getParent(testId);
-            if (!parent.isPresent() || !parent.get().getSource().isPresent()) {
+            if (!parent.isPresent()) {
                 return Optional.empty();
             }
+            if (!parent.get().getSource().isPresent()) {
+                // the source of the parent is unknown, so we move up the
+                // hierarchy and try and find a class source
+                return findFirstParentClassSource(parent.get());
+            }
             final TestSource parentSource = parent.get().getSource().get();
             return parentSource instanceof ClassSource ? Optional.of((ClassSource) parentSource)
                     : findFirstParentClassSource(parent.get());
