diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
index c37f308..187b5d8 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
@@ -184,8 +184,6 @@
               + fileRootedPath.asPath()),
           Transience.PERSISTENT);
     } catch (IOException e) {
-      // TODO(bazel-team): throw an IOException here and let PackageFunction wrap that into a
-      // BuildFileNotFoundException.
       throw new PackageLookupFunctionException(new BuildFileNotFoundException(packageIdentifier,
           "IO errors while looking for " + basename + " file reading "
               + fileRootedPath.asPath() + ": " + e.getMessage(), e),
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index 33e34fb..fe51536 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -2902,11 +2902,6 @@
       } else {
         Exception e = Preconditions.checkNotNull(errorInfo.getException());
 
-        // TargetPatternPhaseFunction never directly throws. Thus, the only way
-        // evalResult.hasError() && keepGoing can hold is if there are cycles, which is handled
-        // above.
-        Preconditions.checkState(!keepGoing, e.getMessage());
-
         // Following SkyframeTargetPatternEvaluator, we convert any exception into a
         // TargetParsingException.
         exc =
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java
index e099990..f7f0132 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java
@@ -17,6 +17,7 @@
 
 import com.google.devtools.build.lib.analysis.util.AnalysisTestCase;
 import com.google.devtools.build.lib.clock.BlazeClock;
+import com.google.devtools.build.lib.cmdline.TargetParsingException;
 import com.google.devtools.build.lib.vfs.FileStatus;
 import com.google.devtools.build.lib.vfs.FileSystem;
 import com.google.devtools.build.lib.vfs.Path;
@@ -56,4 +57,14 @@
     reporter.removeHandler(failFastHandler);
     assertThrows(ViewCreationFailedException.class, () -> update("//b:b"));
   }
+
+  @Test
+  public void testWorkspaceError() throws IOException {
+    scratch.file("a/BUILD");
+    crashMessage = path -> path.toString().contains("WORKSPACE") ? "bork" : null;
+    reporter.removeHandler(failFastHandler);
+    assertThrows(
+        TargetParsingException.class,
+        () -> update(new FlagBuilder().with(Flag.KEEP_GOING), "//a:a"));
+  }
 }
