diff --git a/utils.c b/utils.c
index 89fc262117d209f3687f6a815c92126ae0243b38..f104410503ac10ae3af03801a79192b8555fc26c 100644
--- a/utils.c
+++ b/utils.c
@@ -613,11 +613,11 @@ static struct timeval tvfix(struct timeval a)
 	if (a.tv_usec >= ONE_MILLION) {
 		ast_log(LOG_WARNING, "warning too large timestamp %ld.%ld\n",
 			a.tv_sec, (long int) a.tv_usec);
-		a.tv_sec += a.tv_usec % ONE_MILLION;
+		a.tv_sec += a.tv_usec / ONE_MILLION;
 		a.tv_usec %= ONE_MILLION;
 	} else if (a.tv_usec < 0) {
 		ast_log(LOG_WARNING, "warning negative timestamp %ld.%ld\n",
-				a.tv_sec, (long int) a.tv_usec);
+			a.tv_sec, (long int) a.tv_usec);
 		a.tv_usec = 0;
 	}
 	return a;