diff --git a/extensions/geoip/extension.cpp b/extensions/geoip/extension.cpp
index 72e179de..718c800e 100644
--- a/extensions/geoip/extension.cpp
+++ b/extensions/geoip/extension.cpp
@@ -90,9 +90,10 @@ static cell_t sm_Geoip_Code2(IPluginContext *pCtx, const cell_t *params)
 	StripPort(ip);
 
 	ccode = GeoIP_country_code_by_addr(gi, ip);
-	pCtx->StringToLocal(params[2], 3, (ccode) ? ccode : "er");
 
-	return 1;
+	pCtx->StringToLocal(params[2], 3, ccode ? ccode : "");
+
+	return ccode ? 1 : 0;
 }
 
 static cell_t sm_Geoip_Code3(IPluginContext *pCtx, const cell_t *params)
@@ -104,9 +105,9 @@ static cell_t sm_Geoip_Code3(IPluginContext *pCtx, const cell_t *params)
 	StripPort(ip);
 
 	ccode = GeoIP_country_code3_by_addr(gi, ip);
-	pCtx->StringToLocal(params[2], 4, (ccode) ? ccode : "err");
+	pCtx->StringToLocal(params[2], 4, ccode ? ccode : "");
 
-	return 1;
+	return ccode ? 1 : 0;
 }
 
 static cell_t sm_Geoip_Country(IPluginContext *pCtx, const cell_t *params)
@@ -118,9 +119,9 @@ static cell_t sm_Geoip_Country(IPluginContext *pCtx, const cell_t *params)
 	StripPort(ip);
 
 	ccode = GeoIP_country_name_by_addr(gi, ip);
-	pCtx->StringToLocal(params[2], params[3], (ccode) ? ccode : "error");
+	pCtx->StringToLocal(params[2], params[3], (ccode) ? ccode : "");
 
-	return 1;
+	return ccode ? 1 : 0;
 }
 
 const sp_nativeinfo_t geoip_natives[] = 
diff --git a/plugins/include/geoip.inc b/plugins/include/geoip.inc
index ad28ef0f..6c320630 100644
--- a/plugins/include/geoip.inc
+++ b/plugins/include/geoip.inc
@@ -29,18 +29,18 @@
  *
  * @param ip			Ip to determine the country code.
  * @param ccode			Destination string buffer to store the code.
- * @noreturn
+ * @return				True on success, false if no country found.
  */
-native GeoipCode2(const String:ip[], String:ccode[3]);
+native bool:GeoipCode2(const String:ip[], String:ccode[3]);
 
 /**
  * Gets the three character country code from an IP address. (USA, CAN, etc)
  *
  * @param ip			Ip to determine the country code.
  * @param ccode			Destination string buffer to store the code.
- * @noreturn
+ * @return				True on success, false if no country found.
  */
-native GeoipCode3(const String:ip[], String:ccode[4]);
+native bool:GeoipCode3(const String:ip[], String:ccode[4]);
 
 /**
  * Gets the full country name. (max length of output string is 45)
@@ -48,9 +48,9 @@ native GeoipCode3(const String:ip[], String:ccode[4]);
  * @param ip			Ip to determine the country code.
  * @param ccode			Destination string buffer to store the country name.
  * @param len			Maximum length of output string buffer.
- * @noreturn
+ * @return				True on success, false if no country found.
  */
-native GeoipCountry(const String:ip[], String:name[], len=45);
+native bool:GeoipCountry(const String:ip[], String:name[], maxlength);
 
 /**
  * @endsection