diff --git a/smradiusd b/smradiusd
index 8a33e559d8743d9db81fce0ebc2ba6746bf4894b..32ea1d1940409ff4825f09d727d9668ddcf095db 100755
--- a/smradiusd
+++ b/smradiusd
@@ -1076,7 +1076,11 @@ sub log
 		$msg = "[CORE] $logtxt: $msg";
 	}
 
-	$self->SUPER::log($level,"[".$self->log_time." - $$] $msg",@args);
+	# If we have args, this is more than likely a format string & args
+	if (@args > 0) {
+		$msg = sprintf($msg,@args);
+	}
+	$self->SUPER::log($level,"[".$self->log_time." - $$] $msg");
 }