diff --git a/kotlin/internal/jvm/compile.bzl b/kotlin/internal/jvm/compile.bzl
index 3f1aa7e..6a5bf33 100644
--- a/kotlin/internal/jvm/compile.bzl
+++ b/kotlin/internal/jvm/compile.bzl
@@ -682,6 +682,10 @@
         java_toolchain = toolchains.java,
     ) if generated_src_jars else None
 
+    generated_class_jar = None
+    if annotation_processing:
+        generated_class_jar = annotation_processing.class_jar
+
     java_info = JavaInfo(
         output_jar = output_jar,
         compile_jar = compile_jar,
@@ -692,6 +696,7 @@
         exports = compile_deps.exports,
         neverlink = getattr(ctx.attr, "neverlink", False),
         generated_source_jar = generated_source_jar,
+        generated_class_jar = generated_class_jar,
     )
 
     instrumented_files = coverage_common.instrumented_files_info(
@@ -779,6 +784,7 @@
         )
 
     # Run KSP
+    ksp_generated_class_jar = None
     if has_kt_sources and ksp_annotation_processors:
         ksp_outputs = _run_ksp_builder_actions(
             ctx,
@@ -791,7 +797,8 @@
             transitive_runtime_jars = transitive_runtime_jars,
             plugins = plugins,
         )
-        generated_ksp_src_jars.append(ksp_outputs.ksp_generated_class_jar)
+        ksp_generated_class_jar = ksp_outputs.ksp_generated_class_jar
+        generated_ksp_src_jars.append(ksp_generated_class_jar)
 
     java_infos = []
 
@@ -912,12 +919,15 @@
             )
 
     annotation_processing = None
-    if annotation_processors:
+    if annotation_processors or ksp_annotation_processors:
+        is_ksp = (ksp_annotation_processors != None)
+        processor = ksp_annotation_processors if is_ksp else annotation_processors
+        gen_jar = ksp_generated_class_jar if is_ksp else ap_generated_src_jar
         outputs_list = [java_info.outputs for java_info in java_infos]
         annotation_processing = _create_annotation_processing(
-            annotation_processors = annotation_processors,
+            annotation_processors = processor,
             ap_class_jar = [jars.class_jar for outputs in outputs_list for jars in outputs.jars][0],
-            ap_source_jar = ap_generated_src_jar,
+            ap_source_jar = gen_jar,
         )
 
     return struct(
