 
     return  if cc._inprogress
 
-    if options.provider is 'managed'
+    { provider } = options
+    if provider is 'managed'
       return callback new AddManagedMachineModal
 
     cc._inprogress = yes
 
-    cc.fetchPlanCombo "koding", (err, info) ->
+    provider = 'koding'  unless provider in [ 'koding', 'softlayer' ]
+
+    cc.fetchPlanCombo 'koding', (err, info) ->
 
       if showError err
         return cc._inprogress = no

      limits  = plans[plan]
      options = { plan, limits, usage, snapshotId, region }

      if limits.total > 1

        new ComputePlansModalPaid options
        cc._inprogress = no

        return

      query        =
        provider   : { $in: [ 'koding', 'softlayer' ] }
        credential : nick()

      cc.queryMachines query, (err, machines) ->

        kd.warn err  if err?

        machines ?= []

        if err? or machines.length > 0
          new ComputePlansModalFree options
