diff --git a/core/src/main/java/hudson/slaves/SlaveComputer.java b/core/src/main/java/hudson/slaves/SlaveComputer.java index 9200e58907aac2f6ef2fc6c08ce9fd20b41215c0..1f870d662e7e67bd0c6f5fdadc77ec380a7f96d2 100644 --- a/core/src/main/java/hudson/slaves/SlaveComputer.java +++ b/core/src/main/java/hudson/slaves/SlaveComputer.java @@ -233,8 +233,11 @@ public class SlaveComputer extends Computer { if (launcher instanceof ExecutorListener) { ((ExecutorListener)launcher).taskAccepted(executor, task); } - if (getNode().getRetentionStrategy() instanceof ExecutorListener) { - ((ExecutorListener)getNode().getRetentionStrategy()).taskAccepted(executor, task); + + //getNode() can return null at indeterminate times when nodes go offline + Slave node = getNode(); + if (node != null && node.getRetentionStrategy() instanceof ExecutorListener) { + ((ExecutorListener)node.getRetentionStrategy()).taskAccepted(executor, task); } }