diff --git a/groupChat/manager.go b/groupChat/manager.go
index 34ac4725071ed3a29eccb9896e5896bde5b50aa4..37ef25a0a621d598d7eedc4556bcbb85971a8fb4 100644
--- a/groupChat/manager.go
+++ b/groupChat/manager.go
@@ -151,10 +151,6 @@ func (m *manager) getE2eHandler() groupE2eHandler {
 	return m.messenger.GetE2E()
 }
 
-func (m *manager) getReceptionId() *id.ID {
-	return m.messenger.GetReceptionIdentity().ID
-}
-
 func (m *manager) getReceptionIdentity() xxdk.ReceptionIdentity {
 	return m.messenger.GetReceptionIdentity()
 }
diff --git a/groupChat/receive.go b/groupChat/receive.go
index 5811629ec03e9740e741f3732ac5ec6b39d6a5dd..aecbfad2ee37d9242a70e3e5f1a8d21773854340 100644
--- a/groupChat/receive.go
+++ b/groupChat/receive.go
@@ -87,10 +87,10 @@ func (p *receptionProcessor) Process(message format.Message,
 func (p *receptionProcessor) String() string {
 	if p.p == nil {
 		return fmt.Sprintf("GroupChatReception(%s)",
-			p.m.getReceptionId())
+			p.m.getReceptionIdentity().ID)
 	}
 	return fmt.Sprintf("GroupChatReception(%s)-%s",
-		p.m.getReceptionId(), p.p)
+		p.m.getReceptionIdentity().ID, p.p)
 }
 
 // decryptMessage decrypts the group message payload and returns its message ID,
diff --git a/groupChat/receiveRequest.go b/groupChat/receiveRequest.go
index 847efce7aac7ddcd81954ef672cc3185713c39ca..104a326f1101f966510daea00db75a0c613efa67 100644
--- a/groupChat/receiveRequest.go
+++ b/groupChat/receiveRequest.go
@@ -89,7 +89,7 @@ func (m *manager) readRequest(msg receive.Message) (gs.Group, error) {
 
 	// Generate the DH keys with each group member
 	privKey := partner.MyRootPrivateKey()
-	dkl := gs.GenerateDhKeyList(m.getReceptionId(), privKey, membership, m.getE2eGroup())
+	dkl := gs.GenerateDhKeyList(m.getReceptionIdentity().ID, privKey, membership, m.getE2eGroup())
 
 	// Restore the original public key for the leader so that the membership
 	// digest generated later is correct
diff --git a/groupChat/receiveRequest_test.go b/groupChat/receiveRequest_test.go
index 723b521edabe5ae650b03253a551a970f0a40e90..d1283b8955f319e526322882d5b609e96282c3c2 100644
--- a/groupChat/receiveRequest_test.go
+++ b/groupChat/receiveRequest_test.go
@@ -29,7 +29,7 @@ func TestRequestListener_Hear(t *testing.T) {
 	requestFunc := func(g gs.Group) { requestChan <- g }
 	m, _ := newTestManagerWithStore(prng, 10, 0, requestFunc, t)
 	g := newTestGroupWithUser(m.getE2eGroup(),
-		m.getReceptionId(), m.getE2eHandler().GetHistoricalDHPubkey(),
+		m.getReceptionIdentity().ID, m.getE2eHandler().GetHistoricalDHPubkey(),
 		m.getE2eHandler().GetHistoricalDHPrivkey(), prng, t)
 
 	requestMarshaled, err := proto.Marshal(&Request{
diff --git a/groupChat/send.go b/groupChat/send.go
index cf54d75edfd81a1f4c0038029f7420ad9e245fa7..efa0e11639c261256fd200cbaac31389b9d7168f 100644
--- a/groupChat/send.go
+++ b/groupChat/send.go
@@ -71,7 +71,7 @@ func (m *manager) Send(groupID *id.ID, tag string, message []byte) (
 
 	// Obtain message ID
 	msgId, err := getGroupMessageId(
-		m.getE2eGroup(), groupID, m.getReceptionId(), timeNow, message)
+		m.getE2eGroup(), groupID, m.getReceptionIdentity().ID, timeNow, message)
 	if err != nil {
 		return 0, time.Time{}, group.MessageID{}, err
 	}
@@ -82,7 +82,7 @@ func (m *manager) Send(groupID *id.ID, tag string, message []byte) (
 	rid, _, err := m.getCMix().SendMany(groupMessages, param)
 	if err != nil {
 		return 0, time.Time{}, group.MessageID{},
-			errors.Errorf(sendManyCmixErr, m.getReceptionId(), g.Name, g.ID, err)
+			errors.Errorf(sendManyCmixErr, m.getReceptionIdentity().ID, g.Name, g.ID, err)
 	}
 
 	jww.DEBUG.Printf("[GC] Sent message to %d members in group %s at %s.",
@@ -102,13 +102,13 @@ func (m *manager) newMessages(g gs.Group, tag string, msg []byte,
 	// Create cMix messages in parallel
 	for _, member := range g.Members {
 		// Do not send to the sender
-		if m.getReceptionId().Cmp(member.ID) {
+		if m.getReceptionIdentity().ID.Cmp(member.ID) {
 			continue
 		}
 
 		// Add cMix message to list
 		cMixMsg, err := newCmixMsg(g, tag, msg, timestamp, member, rng,
-			m.getReceptionId(), m.getCMix().GetMaxMessageLength())
+			m.getReceptionIdentity().ID, m.getCMix().GetMaxMessageLength())
 		if err != nil {
 			return nil, err
 		}
diff --git a/groupChat/send_test.go b/groupChat/send_test.go
index 2345ace5440fc8cf96d091533ff1f29cd315da43..be68cb2e8bccca341785038e8596302ba63ba9d5 100644
--- a/groupChat/send_test.go
+++ b/groupChat/send_test.go
@@ -59,7 +59,7 @@ func Test_manager_Send(t *testing.T) {
 			rounds.Round{ID: roundId, Timestamps: timestamps})
 		select {
 		case result := <-msgChan:
-			if !result.SenderID.Cmp(m.getReceptionId()) {
+			if !result.SenderID.Cmp(m.getReceptionIdentity().ID) {
 				t.Errorf("Sender mismatch")
 			}
 			if result.ID.String() != msgId.String() {
@@ -80,7 +80,7 @@ func TestGroup_newCmixMsg_SaltReaderError(t *testing.T) {
 	_, err := newCmixMsg(
 		gs.Group{ID: id.NewIdFromString("test", id.User, t)}, "",
 		[]byte{}, time.Time{}, group.Member{}, strings.NewReader(""),
-		m.getReceptionId(), m.getCMix().GetMaxMessageLength())
+		m.getReceptionIdentity().ID, m.getCMix().GetMaxMessageLength())
 	if err == nil || !strings.Contains(err.Error(), expectedErr) {
 		t.Errorf("newCmixMsg failed to return the expected error"+
 			"\nexpected: %s\nreceived: %+v", expectedErr, err)
@@ -102,7 +102,7 @@ func TestGroup_newCmixMsg_InternalMsgSizeError(t *testing.T) {
 	// Create cMix message
 	prng = rand.New(rand.NewSource(42))
 	_, err := newCmixMsg(g, "", testMsg, netTime.Now(), mem, prng,
-		m.getReceptionId(), m.getCMix().GetMaxMessageLength())
+		m.getReceptionIdentity().ID, m.getCMix().GetMaxMessageLength())
 	if err == nil || !strings.Contains(err.Error(), expectedErr) {
 		t.Errorf("newCmixMsg failed to return the expected error"+
 			"\nexpected: %s\nreceived: %+v", expectedErr, err)
diff --git a/groupChat/service.go b/groupChat/service.go
index 6e6148d192742587d0cc9caf2dba70b28928f0e4..d2a5916aaa7975a8d20065f88ce0a9047bbbed74 100644
--- a/groupChat/service.go
+++ b/groupChat/service.go
@@ -39,7 +39,7 @@ func (m *manager) AddService(tag string, p Processor) error {
 	// Add a service for every group
 	for _, g := range m.gs.Groups() {
 		newService := makeService(g.ID, tag)
-		m.getCMix().AddService(m.getReceptionId(), newService,
+		m.getCMix().AddService(m.getReceptionIdentity().ID, newService,
 			&receptionProcessor{m, g, p})
 	}
 
@@ -61,7 +61,7 @@ func (m *manager) RemoveService(tag string) error {
 	// Delete service for every group
 	for _, g := range m.gs.Groups() {
 		toDelete := makeService(g.ID, tag)
-		m.getCMix().DeleteService(m.getReceptionId(), toDelete,
+		m.getCMix().DeleteService(m.getReceptionIdentity().ID, toDelete,
 			&receptionProcessor{m, g, oldProcess})
 	}
 
@@ -72,7 +72,7 @@ func (m *manager) RemoveService(tag string) error {
 func (m *manager) addAllServices(g gs.Group) {
 	for tag, p := range m.services {
 		newService := makeService(g.ID, tag)
-		m.getCMix().AddService(m.getReceptionId(), newService,
+		m.getCMix().AddService(m.getReceptionIdentity().ID, newService,
 			&receptionProcessor{m, g, p})
 	}
 }
@@ -81,7 +81,7 @@ func (m *manager) addAllServices(g gs.Group) {
 func (m *manager) deleteAllServices(groupID *id.ID) {
 	for tag := range m.services {
 		toDelete := makeService(groupID, tag)
-		m.getCMix().DeleteService(m.getReceptionId(), toDelete, nil)
+		m.getCMix().DeleteService(m.getReceptionIdentity().ID, toDelete, nil)
 	}
 }
 
diff --git a/groupChat/utils_test.go b/groupChat/utils_test.go
index 8e833258023bd68dce01316cd58ca0f7a1e05165..f672c61cc117d7dfa2b2d55d50ce50fdee44c819 100644
--- a/groupChat/utils_test.go
+++ b/groupChat/utils_test.go
@@ -38,7 +38,7 @@ func newTestManager(t testing.TB) (*manager, gs.Group) {
 		messenger: mockMess,
 	}
 	user := group.Member{
-		ID:    m.getReceptionId(),
+		ID:    m.getReceptionIdentity().ID,
 		DhKey: m.getE2eHandler().GetHistoricalDHPubkey(),
 	}
 
@@ -65,7 +65,7 @@ func newTestManagerWithStore(rng *rand.Rand, numGroups int, sendErr int,
 		messenger:   mockMess,
 	}
 	user := group.Member{
-		ID:    m.getReceptionId(),
+		ID:    m.getReceptionIdentity().ID,
 		DhKey: m.getE2eHandler().GetHistoricalDHPubkey(),
 	}