diff --git a/kotlin/builder/src/io/bazel/kotlin/builder/tasks/KotlinBuilder.kt b/kotlin/builder/src/io/bazel/kotlin/builder/tasks/KotlinBuilder.kt
index 2c7ebfc..37cfd5f 100644
--- a/kotlin/builder/src/io/bazel/kotlin/builder/tasks/KotlinBuilder.kt
+++ b/kotlin/builder/src/io/bazel/kotlin/builder/tasks/KotlinBuilder.kt
@@ -131,7 +131,7 @@
         PLUGINS("--kotlin_plugins"),
         FRIEND_PATHS("--kotlin_friend_paths"),
         OUTPUT_JDEPS("--kotlin_output_jdeps"),
-        DEBUG("--kotlin_debug"),
+        DEBUG("--kotlin_debug_tags"),
         TASK_ID("--kotlin_task_id");
     }
 
diff --git a/kotlin/builder/src/io/bazel/kotlin/builder/utils/CompilationTaskContext.kt b/kotlin/builder/src/io/bazel/kotlin/builder/utils/CompilationTaskContext.kt
index d65d447..5214657 100644
--- a/kotlin/builder/src/io/bazel/kotlin/builder/utils/CompilationTaskContext.kt
+++ b/kotlin/builder/src/io/bazel/kotlin/builder/utils/CompilationTaskContext.kt
@@ -42,6 +42,8 @@
         throwable.printStackTrace(out)
     }
 
+    @Suppress("unused")
+    fun print(msg: String) { out.println(msg) }
     /**
      * Print a list of debugging lines.
      *
@@ -110,9 +112,8 @@
         if (result != 0) {
             if (printOnFail) {
                 printCompilerOutput(output)
-            } else {
-                throw CompilationStatusException("compile phase failed", result, output)
             }
+            throw CompilationStatusException("compile phase failed", result, output)
         } else if(printOnSuccess) {
             printCompilerOutput(output)
         }
diff --git a/kotlin/internal/common/common.bzl b/kotlin/internal/common/common.bzl
index fa3c954..6f8f30e 100644
--- a/kotlin/internal/common/common.bzl
+++ b/kotlin/internal/common/common.bzl
@@ -34,7 +34,7 @@
             debug = debug + [tag]
         if tag == "timings":
             debug = debug + [tag]
-    args.add("--kotlin_debug", debug)
+    args.add("--kotlin_debug_tags", debug)
 
     return args
 
diff --git a/kotlin/internal/jvm/compile.bzl b/kotlin/internal/jvm/compile.bzl
index aeb319b..df4a1f7 100644
--- a/kotlin/internal/jvm/compile.bzl
+++ b/kotlin/internal/jvm/compile.bzl
@@ -185,7 +185,7 @@
     if len(plugin_info.annotation_processors) > 0:
         args.add("--kotlin_plugins", plugin_info.to_json())
 
-    progress_message = "Compiling Kotlin %s { kt: %d, java: %d, srcjars: %d }" % (
+    progress_message = "Compiling Kotlin to JVM %s { kt: %d, java: %d, srcjars: %d }" % (
         ctx.label,
         len(srcs.kt),
         len(srcs.java),
diff --git a/kotlin/internal/toolchains.bzl b/kotlin/internal/toolchains.bzl
index 32e0477..a386d79 100644
--- a/kotlin/internal/toolchains.bzl
+++ b/kotlin/internal/toolchains.bzl
@@ -47,7 +47,7 @@
         debug = ctx.attr.debug,
         jvm_target = ctx.attr.jvm_target,
         kotlinbuilder = ctx.attr.kotlinbuilder,
-        kotlin_home = ctx.files.kotlin_home,
+        kotlin_home = ctx.attr.kotlin_home,
         jvm_stdlibs = java_common.create_provider(
             compile_time_jars = ctx.files.jvm_stdlibs,
             runtime_jars = ctx.files.jvm_runtime,
