diff --git a/src/linux/get_machine_type.cpp b/src/linux/get_machine_type.cpp
index dc54f045d6622e707ef718e2d4629d81b3684d21..0f46a59ea6f4491263b3cdbba8ab22119ca74c43 100644
--- a/src/linux/get_machine_type.cpp
+++ b/src/linux/get_machine_type.cpp
@@ -17,14 +17,18 @@ string get_machine_type () {
 
     if (gai_result) {
         fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(gai_result));
-        return "unknow";
+        return "unknown";
     }
 
-    for(p = info; p; p = p->ai_next)
-        if(!strcmp(p->ai_canonname,"server.telecentro.net")){;
+    for(p = info; p; p = p->ai_next) {
+		if (!p->ai_canonname) {
+			continue;
+		}
+        if (!strcmp(p->ai_canonname,"server.telecentro.net")) {;
             freeaddrinfo(info);
             return "server";
         }
+	}
 
     freeaddrinfo(info);