diff --git a/src/main/java/io/reactivesocket/internal/Responder.java b/src/main/java/io/reactivesocket/internal/Responder.java
index <HASH>..<HASH> 100644
--- a/src/main/java/io/reactivesocket/internal/Responder.java
+++ b/src/main/java/io/reactivesocket/internal/Responder.java
@@ -26,6 +26,7 @@ import io.reactivesocket.RequestHandler;
 import io.reactivesocket.exceptions.InvalidSetupException;
 import io.reactivesocket.exceptions.RejectedException;
 import io.reactivesocket.exceptions.SetupException;
+import io.reactivesocket.internal.frame.FrameHeaderFlyweight;
 import io.reactivesocket.internal.frame.SetupFrameFlyweight;
 import io.reactivesocket.internal.rx.EmptyDisposable;
 import io.reactivesocket.internal.rx.EmptySubscription;
@@ -431,7 +432,7 @@ public class Responder {
 									onError(exc);
 								} else {
 									Frame nextCompleteFrame = Frame.Response.from(
-											streamId, FrameType.NEXT_COMPLETE, v);
+											streamId, FrameType.RESPONSE, v.getMetadata(), v.getData(), FrameHeaderFlyweight.FLAGS_RESPONSE_C);
 									child.onNext(nextCompleteFrame);
 								}
 							}
request response now returns a response frame with a complete flag set