diff --git a/registration/register.go b/registration/register.go
index 57b6cf8f2003b0323d96d9b53aff9dc6e0f1ac2c..97c1f3d6d9ef121ca3d4efa8e71c6070d85614a0 100644
--- a/registration/register.go
+++ b/registration/register.go
@@ -62,14 +62,6 @@ func register(comms registrationMessageSender, host *connect.Host,
 			"reception confirmation message")
 	}
 
-	transmissionConfirmation := &pb.ClientRegistrationConfirmation{}
-	err = proto.Unmarshal(response.GetClientReceptionConfirmation().
-		ClientRegistrationConfirmation, transmissionConfirmation)
-	if err != nil {
-		return nil, nil, 0, errors.WithMessage(err, "Failed to unmarshal "+
-			"transmission confirmation message")
-	}
-
 	// Verify reception signature
 	receptionSignature := response.GetClientReceptionConfirmation().
 		GetRegistrarSignature().Signature
@@ -80,6 +72,15 @@ func register(comms registrationMessageSender, host *connect.Host,
 		return nil, nil, 0, errors.WithMessage(err, "Failed to verify reception signature")
 	}
 
+	// Unmarshal transmission confirmation
+	transmissionConfirmation := &pb.ClientRegistrationConfirmation{}
+	err = proto.Unmarshal(response.GetClientTransmissionConfirmation().
+		ClientRegistrationConfirmation, transmissionConfirmation)
+	if err != nil {
+		return nil, nil, 0, errors.WithMessage(err, "Failed to unmarshal "+
+			"transmission confirmation message")
+	}
+
 	// Verify transmission signature
 	transmissionSignature := response.GetClientTransmissionConfirmation().
 		GetRegistrarSignature().Signature