         saveContact.call(this, contact, callback)
         .then((result) ->
           contactId = contact.id
-          sdk.loadMembers({id: contact.memberId})
-          sdk.loadContactEmailAddresses({contactId: contactId})
-          sdk.loadContactPhoneNumbers({contactId: contactId})
+          promises.when(
+            sdk.loadMembers({id: contact.memberId})
+            sdk.loadContactEmailAddresses({contactId: contactId})
+            sdk.loadContactPhoneNumbers({contactId: contactId})
+          ).then -> result
         ).callback callback
 
 revertSDK = (sdk) ->

    (phoneNumber, callback) ->
      saveMemberPhoneNumber.call(this, phoneNumber, callback)
      .then((result) ->
        sdk.loadMembers({id: phoneNumber.memberId})
        sdk.loadContactPhoneNumbers({memberId: phoneNumber.memberId})
        .then -> result
      ).callback callback

  # Reload member when deleting memberPhoneNumber

        inviteContactEmailAddresses.call(this, params, callback)
        .then((result) ->
          memberId = params.memberId
          promises.when(
            sdk.loadMembers({id: memberId})
            sdk.loadContacts({memberId: memberId})
            sdk.loadContactEmailAddresses({memberId: memberId})
            sdk.loadContactPhoneNumbers({memberId: memberId})
          ).then -> result
        ).callback callback

  wrapMethod sdk, 'saveContact',
