diff --git a/channel.c b/channel.c
index 8d5e9d8c7557008a6f693df75286866c61d2b96e..4eddb9c9f730d515a7667f47c2b80c4cc9d3e1f8 100755
--- a/channel.c
+++ b/channel.c
@@ -548,6 +548,8 @@ void ast_channel_free(struct ast_channel *chan)
 		close(fd);
 	if ((fd = chan->pvt->alertpipe[1]) > -1)
 		close(fd);
+	if ((fd = chan->timingfd) > -1)
+		close(fd);
 	f = chan->pvt->readq;
 	chan->pvt->readq = NULL;
 	while(f) {