diff --git a/radius.c b/radius.c
index 04a39fc..2066b19 100644
--- a/radius.c
+++ b/radius.c
@@ -205,7 +205,10 @@ void radiussend(uint16_t r, uint8_t state)
 		if (s)
 		{
 			if (state == RADIUSAUTH || state == RADIUSJUSTAUTH)
+			{
+				radiusclear(r, s);
 				sessionshutdown(s, "RADIUS timeout.", CDN_ADMIN_DISC, TERM_REAUTHENTICATION_FAILURE);
+			}
 			else
 			{
 				LOG(1, s, session[s].tunnel, "RADIUS timeout, but in state %s so don't timeout session\n",
