diff --git a/session/dap_stream_session.h b/session/dap_stream_session.h
index 7d7c53482df984248bce8927bc6dce7ff4302d54..bbd794eb2907f09608f76df6ff36e8dd059ed116 100755
--- a/session/dap_stream_session.h
+++ b/session/dap_stream_session.h
@@ -46,6 +46,7 @@ struct dap_stream_session {
 
     uint8_t enc_type;
 
+    char *service_key;// auth string
     char active_channels[16];// channels for open
 
     stream_session_connection_type_t conn_type;
diff --git a/stream/dap_stream.c b/stream/dap_stream.c
index 238e0a5ff1cde23062dcc920dcc0107e209f38f0..7fdba43c76e2e85b2287f7cc925a226799c78527 100755
--- a/stream/dap_stream.c
+++ b/stream/dap_stream.c
@@ -170,7 +170,7 @@ void stream_headers_read(dap_http_client_t * cl_ht, void * arg)
                     sid->session=ss;
                     dap_http_header_t *header = dap_http_header_find(cl_ht->in_headers, "Service-Key");
                     if (header)
-                        sid->service_key = strdup(header->value);
+                        ss->service_key = strdup(header->value);
                     size_t count_channels = strlen(ss->active_channels);
                     for(size_t i = 0; i < count_channels; i++) {
                         dap_stream_ch_new(sid, ss->active_channels[i]);
diff --git a/stream/dap_stream.h b/stream/dap_stream.h
index 1fe18072490fcd620e4a224d9a45ca0ceb86b679..2a149cc58b4325a3e7bc13015fafd4411768e6a4 100755
--- a/stream/dap_stream.h
+++ b/stream/dap_stream.h
@@ -83,8 +83,6 @@ typedef struct dap_stream {
     dap_stream_ch_t * channel[255]; // TODO reduce channels to 16 to economy memory
     size_t channel_count;
 
-    char *service_key;
-
     size_t frame_sent; // Frame counter
 
     size_t seq_id;