--- old/modules/javafx.controls/src/main/java/javafx/scene/control/skin/ProgressIndicatorSkin.java 2017-11-15 16:48:44.044730407 +0530 +++ new/modules/javafx.controls/src/main/java/javafx/scene/control/skin/ProgressIndicatorSkin.java 2017-11-15 16:48:43.860638408 +0530 @@ -130,6 +130,7 @@ registerChangeListener(control.indeterminateProperty(), e -> initialize()); registerChangeListener(control.progressProperty(), e -> updateProgress()); registerChangeListener(NodeHelper.treeShowingProperty(control), e -> updateAnimation()); + registerChangeListener(control.sceneProperty(), e->updateAnimation()); initialize(); updateAnimation(); @@ -376,7 +377,8 @@ void updateAnimation() { ProgressIndicator control = getSkinnable(); - final boolean isTreeShowing = NodeHelper.isTreeShowing(control); + final boolean isTreeShowing = NodeHelper.isTreeShowing(control) && + control.getScene() != null; if (indeterminateTransition != null) { pauseTimeline(!isTreeShowing); } else if (isTreeShowing) {