diff --git a/restlike/connect/request.go b/restlike/connect/request.go
index 3d836f2ad7377365bd83b4fc6abb214b7bb88b37..4ea32656a2f3716481153e1955d0435311b61244 100644
--- a/restlike/connect/request.go
+++ b/restlike/connect/request.go
@@ -46,7 +46,7 @@ func (s *Request) Request(method restlike.Method, path restlike.URI,
 	cb := func(msg *restlike.Message) {
 		signalChannel <- msg
 	}
-	s.Net.RegisterListener(catalog.XxMessage, response{responseCallback: cb})
+	s.Net.RegisterListener(catalog.XxMessage, &response{responseCallback: cb})
 
 	// Transmit the Message
 	_, _, _, err = s.Net.SendE2E(catalog.XxMessage, msg, e2eParams)
@@ -81,7 +81,7 @@ func (s *Request) AsyncRequest(method restlike.Method, path restlike.URI,
 	}
 
 	// Build callback for the response
-	s.Net.RegisterListener(catalog.XxMessage, response{responseCallback: cb})
+	s.Net.RegisterListener(catalog.XxMessage, &response{responseCallback: cb})
 
 	// Transmit the Message
 	_, _, _, err = s.Net.SendE2E(catalog.XxMessage, msg, e2eParams)
diff --git a/restlike/connect/response_test.go b/restlike/connect/response_test.go
index f10ea9d8292d7905105edb94b6533347715a4211..f3db1ba40f2024b83522c2d9a5c840d5e4691da4 100644
--- a/restlike/connect/response_test.go
+++ b/restlike/connect/response_test.go
@@ -31,7 +31,7 @@ func TestSingleResponse_Callback(t *testing.T) {
 		Error:   "",
 	}
 
-	r := response{cb}
+	r := &response{cb}
 
 	testPayload, err := proto.Marshal(testMessage)
 	if err != nil {
@@ -61,7 +61,7 @@ func TestSingleResponse_Callback_ProtoErr(t *testing.T) {
 	cb := func(input *restlike.Message) {
 		resultChan <- input
 	}
-	r := response{cb}
+	r := &response{cb}
 
 	r.Hear(receive.Message{Payload: []byte("test")})