diff --git a/src/serverlist.cpp b/src/serverlist.cpp
index d37b5d6371fed45689699d5384e83c601913eef8..3dfc79f50cb4067a093308d4b7941ca8d0b1f70a 100644
--- a/src/serverlist.cpp
+++ b/src/serverlist.cpp
@@ -259,6 +259,7 @@ void sendAnnounce(std::string action, u16 clients) {
 	if (curl)
 	{
 		CURLcode res;
+		curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
 		curl_easy_setopt(curl, CURLOPT_URL, (g_settings->get("serverlist_url")+std::string("/announce?json=")+curl_easy_escape(curl, writer.write( server ).c_str(), 0)).c_str());
 		//curl_easy_setopt(curl, CURLOPT_USERAGENT, "minetest");
 		curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, ServerList::ServerAnnounceCallback);