diff --git a/cmd/rdpgw/protocol/server.go b/cmd/rdpgw/protocol/server.go
index 4f9c1197ef36cb45a9c85ab396e35c1e77b30116..b8371e9ab6a756ba2a3152c69ffc06eaef01f665 100644
--- a/cmd/rdpgw/protocol/server.go
+++ b/cmd/rdpgw/protocol/server.go
@@ -143,6 +143,7 @@ func (s *Server) Process(ctx context.Context) error {
 			go forward(s.Remote, s.Session.TransportOut)
 			s.State = SERVER_STATE_CHANNEL_CREATE
 		case PKT_TYPE_DATA:
+			log.Printf("Data received")
 			if s.State < SERVER_STATE_CHANNEL_CREATE {
 				log.Printf("Data received while in wrong state %d != %d", s.State, SERVER_STATE_CHANNEL_CREATE)
 				return errors.New("wrong state")
@@ -167,6 +168,8 @@ func (s *Server) Process(ctx context.Context) error {
 			s.Session.TransportIn.Close()
 			s.Session.TransportOut.Close()
 			s.State = SERVER_STATE_CLOSED
+			log.Printf("Channel closed")
+			return nil
 		default:
 			log.Printf("Unknown packet (size %d): %x", sz, pkt)
 		}
diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile
index 5079da2f570fedd109fc269feedef11b24e6c0bc..4c7dfe3659525f1bb202d9b801abba7a8860b4e0 100644
--- a/dev/docker/Dockerfile
+++ b/dev/docker/Dockerfile
@@ -27,7 +27,7 @@ RUN adduser --disabled-password --gecos "" --home /opt/rdpgw --uid 1001 rdpgw
 # build rdpgw and set rights
 RUN git clone https://github.com/bolkedebruin/rdpgw.git /app && \
     cd /app && \
-    go mod tidy && \
+    go mod tidy -compat=1.17 && \
     CGO_ENABLED=0 GOOS=linux go build -trimpath -tags '' -ldflags '' -o '/opt/rdpgw/rdpgw' ./cmd/rdpgw && \
     chmod +x /opt/rdpgw/rdpgw && \
     chown -R 1001 /opt/rdpgw