               delete data.cardCV
 
               modal = createAccountPaymentMethodModal data, (newData, onError, onSuccess)->
+                newData.plan = planCode
                 group.makePayment newData, (err, subscription)->
                   if err
                     onError err

    canCreatePersonalVM = "member" in KD.config.roles
    
    # Take this to a better place, possibly to payment controller.
    makePayment = (type, host, callback)->
      if type is 'shared'
        group = KD.singletons.groupsController.getCurrentGroup()
        group.checkPayment (err, payments)->

            KD.singletons.vmController.createGroupVM type, vmCreateCallback
            callback()
      else
        _createUserVM = (cb)->
          KD.remote.api.JRecurlyPlan.getPlanWithCode planCode, (err, plan)->
            plan.subscribe {}, (err, subscription)->
              return cb err  if cb and err
              KD.singletons.vmController.createGroupVM type, vmCreateCallback
              cb?()
        KD.remote.api.JRecurlyPlan.getUserAccount (err, account)->
          if err
            modal = createAccountPaymentMethodModal {}, (newData, onError, onSuccess)->
              newData.plan = planCode
              KD.remote.api.JRecurlyPlan.setUserAccount newData, (err, result)->
                if err
                  onError err
                else
                  onSuccess result
                  _createUserVM callback
          else
            _createUserVM()

    vmCreateCallback  = (err, vm)->
      if err
