diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c
index a20a8185644d0006115b84e213fc203f16c978b9..3f325a6e032e4235640ad8b377ff952eb03e526c 100644
--- a/res/res_pjsip_outbound_registration.c
+++ b/res/res_pjsip_outbound_registration.c
@@ -1551,7 +1551,7 @@ static int handle_registration_response(void *data)
 			update_client_state_status(response->client_state, SIP_REGISTRATION_REGISTERED);
 			sip_outbound_registration_send_ubus_event("REGISTERED",response->expiration,client_uri);
 			response->client_state->retries = 0;
-			next_registration_round = response->expiration - REREGISTER_BUFFER_TIME;
+			next_registration_round = response->expiration - (response->expiration/10);
 			if (next_registration_round < 0) {
 				/* Re-register immediately. */
 				next_registration_round = 0;