diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/MergedListener.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/MergedListener.java index 3c7e63883aa..3a5b39e898e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/MergedListener.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/MergedListener.java @@ -162,7 +162,7 @@ protected void propagateError( } protected boolean systemicResult() { - return SystemicObjectTracker.isSystemic(result); + return result == null ? false : SystemicObjectTracker.isSystemic(result); } @Override @@ -172,6 +172,9 @@ protected void destroy() { protected void propagateErrorDownstream( final boolean fromProcess, @NotNull final Throwable error, @Nullable final TableListener.Entry entry) { + if (result == null) { + return; + } if (fromProcess && result.satisfied(getUpdateGraph().clock().currentStep())) { // If the result is already satisfied (because it managed to send its notification, or was otherwise // satisfied) we should not send our error notification on this cycle.