Merge branch 'NIFI-1676'
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardProcessorNode.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardProcessorNode.java
index 3fa85e9..8ac82a0 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardProcessorNode.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardProcessorNode.java
@@ -1117,8 +1117,9 @@
 
     @Override
     public void verifyCanStart(final Set<ControllerServiceNode> ignoredReferences) {
-        if (this.getScheduledState() == ScheduledState.RUNNING) {
-            throw new IllegalStateException(this + " cannot be started because it is already running");
+        final ScheduledState currentState = getPhysicalScheduledState();
+        if (currentState != ScheduledState.STOPPED && currentState != ScheduledState.DISABLED) {
+            throw new IllegalStateException(this + " cannot be started because it is not stopped. Current state is " + currentState.name());
         }
 
         verifyNoActiveThreads();