diff --git a/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php b/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php
index 2601890664881d7e290c92a582f52fb01b58eca5..e1bec7d97b82826f6ee73ba23c0cef3977994ce5 100644
--- a/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php
+++ b/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php
@@ -74,8 +74,8 @@ if (sizeof($all_subnet_hosts)>0) {
                            // add to alive
                            $result[$Subnets->transform_address($r['ip'], "decimal")]['code'] = 0;
                            $result[$Subnets->transform_address($r['ip'], "decimal")]['status'] = "Online";
-                           // update alive time
-                           @$Scan->ping_update_lastseen($result[$Subnets->transform_address($r['ip'], "decimal")]['id']);
+                           // update alive time and mac address
+                           @$Scan->ping_update_lastseen($result[$Subnets->transform_address($r['ip'], "decimal")]['id'], null, $r['mac']);
                        }
                    }
                }
diff --git a/functions/classes/class.Radius.php b/functions/classes/class.Radius.php
index 09156ea7b18df5b61747e2dc5486bc98bc23a331..71e17ed1055a5523bdcbbe34a3858cc368265b3d 100644
--- a/functions/classes/class.Radius.php
+++ b/functions/classes/class.Radius.php
@@ -228,7 +228,7 @@ class Radius
      * @param integer accounting port
      * @return NULL
      *********************************************************************/
-    public function Radius($ip_radius_server = '127.0.0.1', $shared_secret = '', $radius_suffix = '', $udp_timeout = 5, $authentication_port = 1812, $accounting_port = 1813)
+    public function __construct($ip_radius_server = '127.0.0.1', $shared_secret = '', $radius_suffix = '', $udp_timeout = 5, $authentication_port = 1812, $accounting_port = 1813)
     {
         $this->_radius_packet_info[1] = 'Access-Request';
         $this->_radius_packet_info[2] = 'Access-Accept';
diff --git a/functions/classes/class.Scan.php b/functions/classes/class.Scan.php
index 29b83570f9d0f1e3c90b63a287511801e9231737..0f1e92ddc34bbcaa843a6c8bbdeea44aaa84b171 100644
--- a/functions/classes/class.Scan.php
+++ b/functions/classes/class.Scan.php
@@ -587,11 +587,15 @@ class Scan extends Common_functions {
 	 * @param datetime $datetime
 	 * @return void
 	 */
-	public function ping_update_lastseen ($id, $datetime = null) {
+	public function ping_update_lastseen ($id, $datetime = null, $mac = null) {
     	# set datetime
     	$datetime = is_null($datetime) ? date("Y-m-d H:i:s") : $datetime;
 		# execute
-		try { $this->Database->updateObject("ipaddresses", array("id"=>$id, "lastSeen"=>$datetime), "id"); }
+		$update_ipaddress = array("id"=>$id, "lastSeen"=>$datetime);
+		if (!is_null($mac)) {
+			$update_ipaddress["mac"] = $mac;
+		}
+		try { $this->Database->updateObject("ipaddresses", $update_ipaddress, "id"); }
 		catch (Exception $e) {
 			!$this->debugging ? : $this->Result->show("danger", $e->getMessage(), false);
 			# log