diff --git a/http/app.hpp b/http/app.hpp
index d3cf48c..b983bec 100644
--- a/http/app.hpp
+++ b/http/app.hpp
@@ -49,7 +49,7 @@
     {}
     ~App()
     {
-        this->stop();
+        stop();
     }
 
     App(const App&) = delete;
diff --git a/http/http_server.hpp b/http/http_server.hpp
index afa4514..258193a 100644
--- a/http/http_server.hpp
+++ b/http/http_server.hpp
@@ -86,7 +86,7 @@
                 lastDateUpdate = std::chrono::steady_clock::now();
                 updateDateStr();
             }
-            return this->dateStr;
+            return dateStr;
         };
 
         BMCWEB_LOG_INFO << "bmcweb server is running, local endpoint "
@@ -146,7 +146,7 @@
                             << "Error while canceling async operations:"
                             << ec2.message();
                     }
-                    this->startAsyncWaitForSignal();
+                    startAsyncWaitForSignal();
                 }
                 else
                 {
@@ -184,7 +184,7 @@
             [this, connection](const boost::system::error_code& ec) {
             if (!ec)
             {
-                boost::asio::post(*this->ioService,
+                boost::asio::post(*ioService,
                                   [connection] { connection->start(); });
             }
             doAccept();
