diff --git a/post-processor/vagrant-cloud/step_prepare_upload.go b/post-processor/vagrant-cloud/step_prepare_upload.go index 26d82471e..0723520b9 100644 --- a/post-processor/vagrant-cloud/step_prepare_upload.go +++ b/post-processor/vagrant-cloud/step_prepare_upload.go @@ -30,9 +30,13 @@ func (s *stepPrepareUpload) Run(state multistep.StateBag) multistep.StepAction { resp, err := client.Get(path) if err != nil || (resp.StatusCode != 200) { - cloudErrors := &VagrantCloudErrors{} - err = decodeBody(resp, cloudErrors) - state.Put("error", fmt.Errorf("Error preparing upload: %s", cloudErrors.FormatErrors())) + if resp == nil || resp.Body == nil { + state.Put("error", "No response from server.") + } else { + cloudErrors := &VagrantCloudErrors{} + err = decodeBody(resp, cloudErrors) + state.Put("error", fmt.Errorf("Error preparing upload: %s", cloudErrors.FormatErrors())) + } return multistep.ActionHalt }