diff --git a/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt b/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt
index c62a65f86cbb33dfbc95c6da26bb5f4f2df2a5eb..2657df782841b9c919ff7dcdff3ede9580563c7d 100644
--- a/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt
+++ b/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt
@@ -32,6 +32,7 @@ import edu.ucsc.its.temerity.model.EventType.NEW_LOG_IN
 import edu.ucsc.its.temerity.model.EventType.RECORDING_ERROR
 import edu.ucsc.its.temerity.util.currentDate
 import io.kotest.common.ExperimentalKotest
+import io.kotest.common.KotestInternal
 import io.kotest.matchers.file.shouldNotBeEmpty
 import kotlinx.coroutines.runBlocking
 import kotlinx.datetime.Clock
@@ -46,7 +47,7 @@ import kotlin.time.Duration.Companion.minutes
 import kotlin.uuid.ExperimentalUuidApi
 import kotlin.uuid.Uuid
 
-@OptIn(ExperimentalUuidApi::class)
+@OptIn(ExperimentalUuidApi::class, KotestInternal::class)
 private class ProdReportTests : TemProdFunSpec() {
 
   init {
@@ -163,29 +164,32 @@ private class ProdReportTests : TemProdFunSpec() {
 
     // "Mislinked" YuJa course report
     // Generate Report listing all courses matching specific sis id that have the wrong term code, or are duplicates
-    test("PlatformClient can fetch a list of courses with specific SIS ID by term and verify that the term code matches the correct one for the quarter") {
-      runBlocking {
-        val fullCoursesList = testTemerity.getCourses()
-        val invalidGroupTerm = fullCoursesList.filter {
-          it.sisId.startsWith("2250")
-        }.filter {
-          it.courseTerm != "2025 Winter Quarter"
+    test("PlatformClient can fetch a list of courses with specific SIS ID by term and verify that the term code matches the correct one for the quarter")
+      .config(timeout = 45.minutes) {
+        runBlocking {
+          val fullCoursesList = testTemerity.getCourses()
+          val invalidGroupTerm = fullCoursesList.filter { course ->
+            course.sisId.startsWith("2252")
+          }.filter { course ->
+            course.courseTerm != "2025 Spring Quarter"
+          }
+          val nonMatchingSisId = fullCoursesList.filter { course ->
+            course.courseTerm == "2025 Spring Quarter"
+          }.filter { course ->
+            !course.sisId.startsWith("2252") &&
+              !course.courseCode.endsWith("-DRC") &&
+              !course.courseCode.contains(" ")
+          }
+          val duplicateSisId = fullCoursesList.filter { course ->
+            course.sisId.startsWith("2252")
+          }.groupBy { course -> course.sisId }.filter { courseMapEntry -> courseMapEntry.value.size > 1 }.values.flatten()
+          val problemCourses = invalidGroupTerm + nonMatchingSisId + duplicateSisId
+          println("Total returned groups count: ${problemCourses.size}")
+          problemCourses.forEach { course -> kermit.i(course.toString()) }
+          val df = problemCourses.toDataFrame()
+          df.writeCSV("wrong-term-duplicate-course-report-${Uuid.random()}-${currentDate()}.csv")
         }
-        val nonMatchingSisId = fullCoursesList.filter {
-          it.courseTerm == "2025 Winter Quarter"
-        }.filter {
-          !it.sisId.startsWith("2250")
-        }
-        val duplicateSisId = fullCoursesList.filter {
-          it.sisId.startsWith("2250")
-        }.groupBy { it.sisId }.filter { it.value.size > 1 }.values.flatten()
-        val problemCourses = invalidGroupTerm + nonMatchingSisId + duplicateSisId
-        println("Total returned groups count: ${problemCourses.size}")
-        problemCourses.forEach { kermit.i(it.toString()) }
-        val df = problemCourses.toDataFrame()
-        df.writeCSV("wrong-term-duplicate-course-report-${Uuid.random()}-${currentDate()}.csv")
       }
-    }
 
     test("YuJaClient can fetch the whole list of groups") {
       runBlocking {