diff --git a/webgui/include/ajax/functions/AdminUserLogs.php b/webgui/include/ajax/functions/AdminUserLogs.php
index 0d11e94bccd549f2dc89885f708cff694801c5c8..251a4a6f95b9ea367033fec0c54d7d7fc50688d4 100644
--- a/webgui/include/ajax/functions/AdminUserLogs.php
+++ b/webgui/include/ajax/functions/AdminUserLogs.php
@@ -401,7 +401,7 @@ function getAdminUserLogs($params) {
 		$item['AcctInputMbyte'] = $acctInputMbyte;
 		$item['AcctOutputMbyte'] = $acctOutputMbyte;
 		$item['AcctSessionTime'] = $acctSessionTime;
-		$item['ConnectTermReason'] = strRadiusTermCode($row->servicetype);
+		$item['ConnectTermReason'] = strRadiusTermCode($row->acctterminatecause);
 
 		# Push this row onto main array
 		array_push($resultArray,$item);
diff --git a/webgui/include/ajax/functions/WiSPUserLogs.php b/webgui/include/ajax/functions/WiSPUserLogs.php
index c8ffd4c083f66232420b90edd1263aac9165dbbe..d2d6b5f16d3cc54fbe9e91a250eb9edde8d8bdaf 100644
--- a/webgui/include/ajax/functions/WiSPUserLogs.php
+++ b/webgui/include/ajax/functions/WiSPUserLogs.php
@@ -400,7 +400,7 @@ function getWiSPUserLogs($params) {
 		$item['AcctInputMbyte'] = $acctInputMbyte;
 		$item['AcctOutputMbyte'] = $acctOutputMbyte;
 		$item['AcctSessionTime'] = $acctSessionTime;
-		$item['ConnectTermReason'] = strRadiusTermCode($row->servicetype);
+		$item['ConnectTermReason'] = strRadiusTermCode($row->acctterminatecause);
 
 		# Push this row onto main array
 		array_push($resultArray,$item);
diff --git a/webgui/include/radiuscodes.php b/webgui/include/radiuscodes.php
index a66697a8d3f4244a11405911a707d9dc3fc78826..64a5c898b84ff8e8777c16f68ffe8e1ece402276 100644
--- a/webgui/include/radiuscodes.php
+++ b/webgui/include/radiuscodes.php
@@ -23,38 +23,54 @@
 function strRadiusTermCode($errCode) {
 
 	if (is_numeric($errCode)) {
-
+		# Terminate codes RFC 2866
 		switch ($errCode) {
-			case 0:
-				return "Still logged in";
-			case 45: # Unknown
-			case 46: # Unknown
-			case 63: # Unknown
 			case 1:
-				return "User request";
+				return "User Request";
 			case 2:
-			case 816: # TCP connection reset? unknown
-				return "Carrier loss";
+				return "Lost Carrier";
+			case 3:
+				return "Lost Service";
+			case 4:
+				return "Idle Timeout";
 			case 5:
-				return "Session timeout";
-			case 6: # Admin reset
-			case 10: # NAS request
-			case 11: # NAS reboot
-			case 831: # NAS request? unknown
-			case 841: # NAS request? unknown
-				return "Router reset/reboot";
-			case 8: # Port error
-				return "Port error";
-			case 180: # Unknown
-				return "Local hangup";
-			case 827: # Unknown
-				return "Service unavailable";
+				return "Session Timeout";
+			case 6:
+				return "Admin Reset";
+			case 7:
+				return "Admin Reboot";
+			case 8:
+				return "Port Error";
+			case 9:
+				return "NAS Error";
+			case 10:
+				return "NAS Request";
+			case 11:
+				return "NAS Reboot";
+			case 12:
+				return "Port Unneeded";
+			case 13:
+				return "Port Preempted";
+			case 14:
+				return "Port Suspended";
+			case 15:
+				return "Service Unavailable";
+			case 16:
+				return "Callback";
+			case 17:
+				return "User Error";
+			case 18:
+				return "Host Request";
 			default:
 				return "Unkown";
 		}
-
 	} else {
-		return "Unknown";
+		switch ($errCode) {
+			case NULL:
+				return "Still logged in";
+			default:
+				return "Unkown";
+		}
 	}
 
 }
diff --git a/webui/user/include/radiuscodes.php b/webui/user/include/radiuscodes.php
index a66697a8d3f4244a11405911a707d9dc3fc78826..64a5c898b84ff8e8777c16f68ffe8e1ece402276 100644
--- a/webui/user/include/radiuscodes.php
+++ b/webui/user/include/radiuscodes.php
@@ -23,38 +23,54 @@
 function strRadiusTermCode($errCode) {
 
 	if (is_numeric($errCode)) {
-
+		# Terminate codes RFC 2866
 		switch ($errCode) {
-			case 0:
-				return "Still logged in";
-			case 45: # Unknown
-			case 46: # Unknown
-			case 63: # Unknown
 			case 1:
-				return "User request";
+				return "User Request";
 			case 2:
-			case 816: # TCP connection reset? unknown
-				return "Carrier loss";
+				return "Lost Carrier";
+			case 3:
+				return "Lost Service";
+			case 4:
+				return "Idle Timeout";
 			case 5:
-				return "Session timeout";
-			case 6: # Admin reset
-			case 10: # NAS request
-			case 11: # NAS reboot
-			case 831: # NAS request? unknown
-			case 841: # NAS request? unknown
-				return "Router reset/reboot";
-			case 8: # Port error
-				return "Port error";
-			case 180: # Unknown
-				return "Local hangup";
-			case 827: # Unknown
-				return "Service unavailable";
+				return "Session Timeout";
+			case 6:
+				return "Admin Reset";
+			case 7:
+				return "Admin Reboot";
+			case 8:
+				return "Port Error";
+			case 9:
+				return "NAS Error";
+			case 10:
+				return "NAS Request";
+			case 11:
+				return "NAS Reboot";
+			case 12:
+				return "Port Unneeded";
+			case 13:
+				return "Port Preempted";
+			case 14:
+				return "Port Suspended";
+			case 15:
+				return "Service Unavailable";
+			case 16:
+				return "Callback";
+			case 17:
+				return "User Error";
+			case 18:
+				return "Host Request";
 			default:
 				return "Unkown";
 		}
-
 	} else {
-		return "Unknown";
+		switch ($errCode) {
+			case NULL:
+				return "Still logged in";
+			default:
+				return "Unkown";
+		}
 	}
 
 }