diff --git a/gregui/api/serializers/guest.py b/gregui/api/serializers/guest.py
index 4836baf9fcb3fa16d570b09b909a15531981bfc6..a7fe9a16071d8e90f4298cdb91fc3d5292755302 100644
--- a/gregui/api/serializers/guest.py
+++ b/gregui/api/serializers/guest.py
@@ -22,15 +22,14 @@ class GuestRegisterSerializer(serializers.ModelSerializer):
     passport = serializers.CharField(required=False)
 
     def update(self, instance, validated_data):
-        mobile_phone = validated_data.pop("mobile_phone")
-
         if "email" in validated_data:
             email = validated_data.pop("email")
             create_identity_or_update(
                 Identity.IdentityType.PRIVATE_EMAIL, email, instance
             )
 
-        if not instance.private_mobile:
+        if "mobile_phone" in validated_data:
+            mobile_phone = validated_data.pop("mobile_phone")
             create_identity_or_update(
                 Identity.IdentityType.PRIVATE_MOBILE_NUMBER, mobile_phone, instance
             )