diff --git a/configurator/files/lib/ffnw/configurator/configurator.sh b/configurator/files/lib/ffnw/configurator/configurator.sh
index c009d6189a11019989420ddde9b27d520a21d5a1..0186fcff7c33bdc4ec36b486bbab4531a7e6a6c9 100644
--- a/configurator/files/lib/ffnw/configurator/configurator.sh
+++ b/configurator/files/lib/ffnw/configurator/configurator.sh
@@ -13,6 +13,7 @@ if [ -f /etc/config/configurator ];then
 	SCRIPT_ERROR_LEVEL=`uci get configurator.@script[0].error_level`
 	SCRIPT_LOGFILE=`uci get configurator.@script[0].logfile`
 	SCRIPT_SYNC_HOSTNAME=`uci get configurator.@script[0].sync_hostname`
+	SCRIPT_LOCATION_SET=`uci get gluon-node-info.@location[0].share_location`
 	CRAWL_METHOD=`uci get configurator.@crawl[0].method`
 	CRAWL_ROUTER_ID=`uci get configurator.@crawl[0].router_id`
 	CRAWL_UPDATE_HASH=`uci get configurator.@crawl[0].update_hash`
@@ -149,6 +150,24 @@ autoadd_ipv6_address() {
 	fi
 }
 
+
+sync_geo_location(){
+	if [[ $(awk 'BEGIN{srand();print int(rand()*100)}') -lt 50 ]];then
+		mac=$(uci get wireless.mesh_radio0.macaddr)
+		coords="$(wget -q -O - "http://[fd74:fdaa:9dc4::1]/getcoords.php?mac=$mac")"
+		echo "$coords" | grep "[0-9]\{1,3\}\(\.[0-9]\)* [0-9]\{1,3\}\(\.[0-9]\)*"
+		if [ "$?" = "0" ]; then 
+			lat="$(echo "$coords" | cut -d' ' -f1)"
+			lon="$(echo "$coords" | cut -d' ' -f2)"
+			#echo "lon: $lon,lat: $lat"
+			uci set gluon-node-info.@location[0].latitude=$lat
+			uci set gluon-node-info.@location[0].longitude=$lon
+			uci set gluon-node-info.@location[0].share_location=1
+			uci commit gluon-node-info.@location[0]
+		fi
+	fi
+}
+
 if [ $CRAWL_METHOD == "login" ]; then
 	err "Authentification method is: username and passwort"
 elif [ $CRAWL_METHOD == "hash" ]; then
@@ -170,3 +189,9 @@ fi
 if [[ $SCRIPT_SYNC_HOSTNAME = "1" ]]; then
 	sync_hostname
 fi
+
+
+if [[ $SCRIPT_LOCATION_SET = "0" ]]; then
+	sync_geo_location
+fi
+