       @unregisterWatch()
       @unregisterProjectWatch()
       if newValue
-        @registerWatch()
-        @registerProjectWatch()
+        @registerWatch(true)
+        @registerProjectWatch(true)
 
     @subscriptions.add atom.config.onDidChange 'flex-tool-bar.toolBarConfigurationFilePath', ({newValue}) =>
       @unregisterWatch()
-      @resolveConfigPath(newValue, false)
-      @registerWatch()
+      if @resolveConfigPath(newValue, false)
+        @registerWatch()
       @reloadToolbar()
 
     @subscriptions.add atom.config.onDidChange 'flex-tool-bar.toolBarProjectConfigurationFilePath', ({newValue}) =>
       @unregisterProjectWatch()
-      @resolveProjectConfigPath(newValue)
-      @registerProjectWatch()
+      if @resolveProjectConfigPath(newValue)
+        @registerProjectWatch()
       @reloadToolbar()
 
   resolveConfigPath: (configFilePath = atom.config.get('flex-tool-bar.toolBarConfigurationFilePath'), createIfNotFound = true) ->

  observeConfig: ->
    @subscriptions.add atom.config.onDidChange 'flex-tool-bar.persistentProjectToolBar', ({newValue}) =>
      @unregisterProjectWatch()
      @resolveProjectConfigPath(undefined, newValue)
      @registerProjectWatch()
      @reloadToolbar()

    @subscriptions.add atom.config.onDidChange 'flex-tool-bar.pollFunctionConditionsToReloadWhenChanged', ({oldValue, newValue}) =>

    @projectConfigWatcher?.close()
    @projectConfigWatcher = null

  registerProjectWatch: (shouldWatch = atom.config.get('flex-tool-bar.reloadToolBarWhenEditConfigFile')) ->
    return unless shouldWatch and @projectConfigFilePath

    @projectConfigWatcher?.close()
    @projectConfigWatcher = chokidar.watch @projectConfigFilePath
