diff --git a/catalog/messageTypes.go b/catalog/messageTypes.go
index 1bd4d24cbea54ac7d164d9016dea0e7c35ac9835..6fc09ead3c9520f5db635ebf29da7e160698cc00 100644
--- a/catalog/messageTypes.go
+++ b/catalog/messageTypes.go
@@ -39,11 +39,11 @@ const (
 
 	// NewFileTransfer is transmitted first on the initialization of a file
 	// transfer to inform the receiver about the incoming file.
-	NewFileTransfer = 50
+	NewFileTransfer MessageType = 50
 
 	// EndFileTransfer is sent once all file parts have been transmitted to
 	// inform the receiver that the file transfer has ended.
-	EndFileTransfer = 51
+	EndFileTransfer MessageType = 51
 
 	// ConnectionAuthenticationRequest is sent by the recipient
 	// of an authenticated connection request
diff --git a/fileTransfer2/e2e/utils_test.go b/fileTransfer2/e2e/utils_test.go
index a2a64cc5bb9f20f6d579887693a9787987bc8e5d..7b5a08015dab748e1b2969831300de146b52b716 100644
--- a/fileTransfer2/e2e/utils_test.go
+++ b/fileTransfer2/e2e/utils_test.go
@@ -148,13 +148,13 @@ func (l *mockListener) Name() string {
 
 type mockE2eHandler struct {
 	msgMap    map[id.ID]map[catalog.MessageType][][]byte
-	listeners map[id.ID]map[catalog.MessageType]receive.Listener
+	listeners map[catalog.MessageType]receive.Listener
 }
 
 func newMockE2eHandler() *mockE2eHandler {
 	return &mockE2eHandler{
 		msgMap:    make(map[id.ID]map[catalog.MessageType][][]byte),
-		listeners: make(map[id.ID]map[catalog.MessageType]receive.Listener),
+		listeners: make(map[catalog.MessageType]receive.Listener),
 	}
 }
 
@@ -178,7 +178,7 @@ func newMockE2e(myID *id.ID, handler *mockE2eHandler) *mockE2e {
 func (m *mockE2e) SendE2E(mt catalog.MessageType, recipient *id.ID, payload []byte,
 	_ e2e.Params) ([]id.Round, e2eCrypto.MessageID, time.Time, error) {
 
-	m.handler.listeners[*recipient][mt].Hear(receive.Message{
+	m.handler.listeners[mt].Hear(receive.Message{
 		MessageType: mt,
 		Payload:     payload,
 		Sender:      m.myID,
@@ -188,14 +188,9 @@ func (m *mockE2e) SendE2E(mt catalog.MessageType, recipient *id.ID, payload []by
 	return []id.Round{42}, e2eCrypto.MessageID{}, netTime.Now(), nil
 }
 
-func (m *mockE2e) RegisterListener(senderID *id.ID, mt catalog.MessageType,
+func (m *mockE2e) RegisterListener(_ *id.ID, mt catalog.MessageType,
 	listener receive.Listener) receive.ListenerID {
-	if _, exists := m.handler.listeners[*senderID]; !exists {
-		m.handler.listeners[*senderID] =
-			map[catalog.MessageType]receive.Listener{mt: listener}
-	} else if _, exists = m.handler.listeners[*senderID][mt]; !exists {
-		m.handler.listeners[*senderID][mt] = listener
-	}
+	m.handler.listeners[mt] = listener
 	return receive.ListenerID{}
 }
 
diff --git a/fileTransfer2/e2e/wrapper.go b/fileTransfer2/e2e/wrapper.go
index c03debdac07b9518a38445dab2fb2e1228889738..b53cffe55da7edd1d7d2ea32dbdab762282acf4f 100644
--- a/fileTransfer2/e2e/wrapper.go
+++ b/fileTransfer2/e2e/wrapper.go
@@ -57,7 +57,7 @@ func NewWrapper(receiveCB ft.ReceiveCallback, p Params, ft ft.FileTransfer,
 	}
 
 	// Register listener to receive new file transfers
-	w.e2e.RegisterListener(w.myID, catalog.NewFileTransfer, &listener{w})
+	w.e2e.RegisterListener(&id.ZeroUser, catalog.NewFileTransfer, &listener{w})
 
 	return w, nil
 }