diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index ac289bb..1e9e882 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -1011,6 +1011,27 @@
         .contains("execution phase succeeded, but there were loading phase errors");
   }
 
+  @Test
+  public void testMissingLabelInConfiguration() throws Exception {
+    scratch.file("nobuild/BUILD",
+        "cc_library(name= 'lib')");
+    useConfiguration("--experimental_action_listener=//nobuild:bar");
+    reporter.removeHandler(failFastHandler);
+    String begin = String.format(
+        "Failed to load required %s target: '%s'", "action_listener", "//nobuild:bar");
+    try {
+      update(defaultFlags().with(Flag.KEEP_GOING), "//nobuild:lib");
+      fail();
+    } catch (InvalidConfigurationException e) {
+      // Interleaved loading and analysis - loading errors are found during configuration creation.
+      assertThat(e.getMessage()).startsWith(begin);
+    } catch (LoadingFailedException e) {
+      assertThat(e.getMessage()).startsWith(begin);
+    }
+    assertContainsEventWithFrequency(
+        "no such target '//nobuild:bar': target 'bar' not declared in package 'nobuild'", 1);
+  }
+
   /** Runs the same test with the reduced loading phase. */
   @TestSpec(size = Suite.SMALL_TESTS)
   @RunWith(JUnit4.class)
