         return false
 
     if scopeSelector?
-      @setRawScopedValue(scopeSelector, keyPath, value)
+      @setRawScopedValue(source, scopeSelector, keyPath, value)
     else
       @setRawValue(keyPath, value)
 

      disposable.dispose()
      @emitter.emit 'did-change'

  setRawScopedValue: (selector, keyPath, value) ->
    if keyPath?
      newValue = {}
      _.setValueForKeyPath(newValue, keyPath, value)

    else
      [keyPath, value, options] = arguments
      scopeSelector = options?.scopeSelector
      source = options?.source

    source ?= @getUserConfigPath()

    unless value is undefined
      try
