diff --git a/main/channel.c b/main/channel.c
index dec1f86bab1276cafb970569b9fa3202e7b1c669..84485240b6eec303b005453c6a4273b3b639769d 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1720,7 +1720,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
 	/* Wait full interval */
 	rms = *ms;
 	if (whentohangup) {
-		rms = (whentohangup - now) * 1000;	/* timeout in milliseconds */
+		rms = whentohangup * 1000;              /* timeout in milliseconds */
 		if (*ms >= 0 && *ms < rms)		/* original *ms still smaller */
 			rms =  *ms;
 	}