diff --git a/rdg.go b/rdg.go
index fe353455b674d8294b0b063e9d41444b7ad019d2..2d4ebcd9c513f4aca30bb5c1529aaa85ce70bdcb 100644
--- a/rdg.go
+++ b/rdg.go
@@ -155,9 +155,9 @@ func (s RdgSession) RdgHandshake(next http.Handler) http.Handler {
 							return
 						}
 						sendChannelCreateResponse(s.BufOut)
+						go sendDataPacket(s.Remote, s.BufOut)
 					case PKT_TYPE_DATA:
 						receiveDataPacket(s.Remote, packet)
-						go sendDataPacket(s.Remote, s.BufOut)
 					}
 				}
 			}