diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index bfbe580..1c24c61 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
@@ -282,34 +282,15 @@
 
     void upgradeToHttp2()
     {
-        // TODO HTTP2Connection needs adaptor moved to a similar abstraction as
-        // HTTPConnection
-        if (httpType == HttpType::HTTP)
+        auto http2 = std::make_shared<HTTP2Connection<Adaptor, Handler>>(
+            std::move(adaptor), handler, getCachedDateStr, httpType);
+        if (http2settings.empty())
         {
-            auto http2 = std::make_shared<HTTP2Connection<Adaptor, Handler>>(
-                std::move(adaptor.next_layer()), handler, getCachedDateStr);
-            if (http2settings.empty())
-            {
-                http2->start();
-            }
-            else
-            {
-                http2->startFromSettings(http2settings);
-            }
+            http2->start();
         }
         else
         {
-            auto http2 = std::make_shared<
-                HTTP2Connection<boost::asio::ssl::stream<Adaptor>, Handler>>(
-                std::move(adaptor), handler, getCachedDateStr);
-            if (http2settings.empty())
-            {
-                http2->start();
-            }
-            else
-            {
-                http2->startFromSettings(http2settings);
-            }
+            http2->startFromSettings(http2settings);
         }
     }
 
