diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6181fef..62e1b14 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,9 +169,11 @@
 
 set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -Wall")
 
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-    -fno-rtti \
-")
+# reenable when https://github.com/chriskohlhoff/asio/issues/533
+# is resolved.  ASIO default executor doesn't build with no-rtti
+#set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
+#    -fno-rtti \
+#")
 
 set (
     CMAKE_CXX_FLAGS
@@ -300,6 +302,7 @@
 include_directories (SYSTEM ${BOOST_SRC_DIR})
 
 # add_definitions(-DBOOST_ASIO_ENABLE_HANDLER_TRACKING)
+add_definitions (-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
 add_definitions (-DBOOST_ASIO_DISABLE_THREADS)
 add_definitions (-DBOOST_BEAST_USE_STD_STRING_VIEW)
 add_definitions (-DBOOST_ERROR_CODE_HEADER_ONLY)
diff --git a/http/websocket.h b/http/websocket.h
index 5e65c99..61b3463 100644
--- a/http/websocket.h
+++ b/http/websocket.h
@@ -95,9 +95,7 @@
 
         std::string_view protocol = req[bf::sec_websocket_protocol];
 
-        // Perform the websocket upgrade
-        ws.async_accept_ex(
-            req,
+        ws.set_option(boost::beast::websocket::stream_base::decorator(
             [session{session}, protocol{std::string(protocol)}](
                 boost::beast::websocket::response_type& m) {
 
@@ -126,15 +124,18 @@
                 m.insert("X-XSS-Protection", "1; "
                                              "mode=block");
                 m.insert("X-Content-Type-Options", "nosniff");
-            },
-            [this, self(shared_from_this())](boost::system::error_code ec) {
-                if (ec)
-                {
-                    BMCWEB_LOG_ERROR << "Error in ws.async_accept " << ec;
-                    return;
-                }
-                acceptDone();
-            });
+            }));
+
+        // Perform the websocket upgrade
+        ws.async_accept(req, [this, self(shared_from_this())](
+                                 boost::system::error_code ec) {
+            if (ec)
+            {
+                BMCWEB_LOG_ERROR << "Error in ws.async_accept " << ec;
+                return;
+            }
+            acceptDone();
+        });
     }
 
     void sendBinary(const std::string_view msg) override
diff --git a/include/obmc_console.hpp b/include/obmc_console.hpp
index f2de85b..29efbef 100644
--- a/include/obmc_console.hpp
+++ b/include/obmc_console.hpp
@@ -4,6 +4,7 @@
 #include <websocket.h>
 
 #include <async_resp.hpp>
+#include <boost/asio/local/stream_protocol.hpp>
 #include <boost/container/flat_map.hpp>
 #include <boost/container/flat_set.hpp>
 
