diff --git a/src/App.cpp b/src/App.cpp
index a016d6b83..1aae7ae09 100644
--- a/src/App.cpp
+++ b/src/App.cpp
@@ -100,7 +100,10 @@ App::~App()
 {
     uv_tty_reset_mode();
 
+#   ifndef XMRIG_NO_HTTPD
     delete m_httpd;
+#   endif
+
     delete m_console;
 }
 
@@ -125,7 +128,9 @@ int App::exec()
     Mem::allocate(m_options->algo(), m_options->threads(), m_options->doubleHash(), m_options->hugePages());
     Summary::print();
 
+#   ifndef XMRIG_NO_API
     Api::start();
+#   endif
 
 #   ifndef XMRIG_NO_HTTPD
     m_httpd = new Httpd(m_options->apiPort(), m_options->apiToken());
diff --git a/src/net/Network.cpp b/src/net/Network.cpp
index 23b24a046..e0f654977 100644
--- a/src/net/Network.cpp
+++ b/src/net/Network.cpp
@@ -183,7 +183,9 @@ void Network::tick()
         m_donate->tick(now);
     }
 
+#   ifndef XMRIG_NO_API
     Api::tick(m_state);
+#   endif
 }
 
 
diff --git a/src/workers/Workers.cpp b/src/workers/Workers.cpp
index 4ba28693e..039a1793c 100644
--- a/src/workers/Workers.cpp
+++ b/src/workers/Workers.cpp
@@ -194,5 +194,7 @@ void Workers::onTick(uv_timer_t *handle)
         m_hashrate->updateHighest();
     }
 
+#   ifndef XMRIG_NO_API
     Api::tick(m_hashrate);
+#   endif
 }