diff --git a/CMakeLists.txt b/CMakeLists.txt
index c10334e7b9369e60cb6d87385291c16826be58d0..efa927266464d79eeb2870df9c064e829285ca8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ set(CMAKE_C_STANDARD 11)
 SET( CPACK_PACKAGE_NAME  "${PROJECT_NAME}")
 SET( CPACK_PACKAGE_VERSION_MAJOR 3)
 SET( CPACK_PACKAGE_VERSION_MINOR 3)
-SET( CPACK_PACKAGE_VERSION_PATCH 3)
+SET( CPACK_PACKAGE_VERSION_PATCH 5)
 
 # init CellFrame SDK
 add_definitions("-DDAP_VERSION=\"${CPACK_PACKAGE_VERSION_MAJOR}\"")
diff --git a/cellframe-sdk b/cellframe-sdk
index 54db7048f68c99a165f28efec2a397d79199e9b1..eff05204713bf917d4d7f72a81abc3ab2ccc00fb 160000
--- a/cellframe-sdk
+++ b/cellframe-sdk
@@ -1 +1 @@
-Subproject commit 54db7048f68c99a165f28efec2a397d79199e9b1
+Subproject commit eff05204713bf917d4d7f72a81abc3ab2ccc00fb
diff --git a/sources/main.c b/sources/main.c
index e1c6fdb3fe80be9f9f54eb344cfb353670dfdca7..1042bcc628d60ca7c8ee33cf74c69e6a0565798a 100755
--- a/sources/main.c
+++ b/sources/main.c
@@ -143,7 +143,7 @@ int main( int argc, const char **argv )
 {
 	dap_server_t *l_server = NULL; // DAP Server instance
     bool l_debug_mode = true;
-	bool bServerEnabled = true;
+	bool bServerEnabled = false;
 	int rc = 0;
 
     dap_set_appname("cellframe-node");
@@ -219,7 +219,11 @@ int main( int argc, const char **argv )
     	#endif
   	}
 
-	if ( dap_server_init(l_thread_cnt) != 0 ) {
+    bServerEnabled = dap_config_get_item_bool_default( g_config, "server", "enabled", false );
+
+    log_it ( L_DEBUG,"config server->enabled = \"%u\" ", bServerEnabled );
+
+    if ( bServerEnabled && dap_server_init(l_thread_cnt) != 0 ) {
     	log_it( L_CRITICAL, "Can't init socket server module" );
 	    return -4;
 	}
@@ -373,10 +377,6 @@ int main( int argc, const char **argv )
 
     save_process_pid_in_file(s_pid_file_path);
 
-	bServerEnabled = dap_config_get_item_bool_default( g_config, "server", "enabled", false );
-
-	log_it ( L_DEBUG,"config server->enabled = \"%u\" ", bServerEnabled );
-
 	if ( bServerEnabled ) {
 
         int32_t l_port = dap_config_get_item_int32(g_config, "server", "listen_port_tcp");
@@ -478,10 +478,14 @@ int main( int argc, const char **argv )
         dap_chain_plugins_init(g_config);
     #endif
 
-	// Endless loop for server's requests processing
-	rc = dap_server_loop(l_server);
-	// After loop exit actions
-	log_it( rc ? L_CRITICAL : L_NOTICE, "Server loop stopped with return code %d", rc );
+    if (bServerEnabled) {
+        // Endless loop for server's requests processing
+        rc = dap_server_loop(l_server);
+        // After loop exit actions
+        log_it( rc ? L_CRITICAL : L_NOTICE, "Server loop stopped with return code %d", rc );
+    } else {
+        dap_events_wait(l_events);
+    }
 
     // Deinit modules
 
@@ -495,7 +499,7 @@ int main( int argc, const char **argv )
 	dap_stream_ctl_deinit();
 	dap_http_folder_deinit();
 	dap_http_deinit();
-	dap_server_deinit();
+	if (bServerEnabled) dap_server_deinit();
 	dap_enc_ks_deinit();
     dap_chain_node_mempool_deinit();