diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
index 7c097fd..dc08057 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
@@ -184,6 +184,12 @@
                     Label.parseAbsoluteUnchecked(
                         toolsRepository + "//third_party/java/j2objc:jre_emul.jar")))
         .add(
+            attr("$jre_emul_module", LABEL)
+                .cfg(HostTransition.createFactory())
+                .value(
+                    Label.parseAbsoluteUnchecked(
+                        toolsRepository + "//third_party/java/j2objc:jre_emul_module")))
+        .add(
             attr(":dead_code_report", LABEL)
                 .cfg(HostTransition.createFactory())
                 .value(DEAD_CODE_REPORT))
@@ -523,6 +529,16 @@
     Artifact bootclasspathJar = ruleContext.getPrerequisiteArtifact("$jre_emul_jar", Mode.HOST);
     argBuilder.addFormatted("-Xbootclasspath:%s", bootclasspathJar);
 
+    // A valid Java system module contains 3 files. The top directory contains a file "release".
+    ImmutableList<Artifact> moduleFiles =
+        ruleContext.getPrerequisiteArtifacts("$jre_emul_module", Mode.HOST).list();
+    for (Artifact a : moduleFiles) {
+      if (a.getFilename().equals("release")) {
+        argBuilder.add("--system", a.getDirname());
+        break;
+      }
+    }
+
     Artifact deadCodeReport = ruleContext.getPrerequisiteArtifact(":dead_code_report", Mode.HOST);
     if (deadCodeReport != null) {
       argBuilder.addExecPath("--dead-code-report", deadCodeReport);
@@ -544,6 +560,7 @@
             .addInput(ruleContext.getPrerequisiteArtifact("$j2objc_wrapper", Mode.HOST))
             .addInput(j2ObjcDeployJar)
             .addInput(bootclasspathJar)
+            .addInputs(moduleFiles)
             .addInputs(sources)
             .addInputs(sourceJars)
             .addTransitiveInputs(compileTimeJars)
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockJ2ObjcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockJ2ObjcSupport.java
index 54bb248..76370f1 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockJ2ObjcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockJ2ObjcSupport.java
@@ -26,6 +26,8 @@
    */
   public static void setup(MockToolsConfig config) throws IOException {
     config.create(TestConstants.TOOLS_REPOSITORY_SCRATCH + "third_party/java/j2objc/jre_emul.jar");
+    config.create(TestConstants.TOOLS_REPOSITORY_SCRATCH + "third_party/java/j2objc/mod/release");
+    config.create(TestConstants.TOOLS_REPOSITORY_SCRATCH + "third_party/java/j2objc/mod/lib/mods");
     config.create(TestConstants.TOOLS_REPOSITORY_SCRATCH + "third_party/java/j2objc/jre.h");
     config.create(TestConstants.TOOLS_REPOSITORY_SCRATCH + "third_party/java/j2objc/jre.m");
     config.create(TestConstants.TOOLS_REPOSITORY_SCRATCH + "third_party/java/j2objc/runtime.h");
@@ -39,6 +41,10 @@
         "",
         "exports_files(['jre_emul.jar'])",
         "",
+        "filegroup(",
+        "    name = 'jre_emul_module',",
+        "    srcs = ['mod/release', 'mod/lib/mods'])",
+        "",
         "objc_library(",
         "    name = 'jre_emul_lib',",
         "    hdrs = ['jre_emul.h'],",
