diff --git a/src/m_anigif.c b/src/m_anigif.c
index 5c7cfbd687218c8ba2535342dc2dbf5fb9cebedc..d46d889bbd68d8321f45ee0147ff263b86b6829f 100644
--- a/src/m_anigif.c
+++ b/src/m_anigif.c
@@ -492,8 +492,8 @@ static void GIF_framewrite(void)
 
 	// screen regions are handled in GIF_lzw
 	{
-		int d1 = (int)((100.0/NEWTICRATE)*gif_frames);
-		int d2 = (int)((100.0/NEWTICRATE)*(gif_frames-1));
+		int d1 = (int)((100.0/NEWTICRATE)*gif_frames+1);
+		int d2 = (int)((100.0/NEWTICRATE)*(gif_frames));
 		UINT16 delay = d1-d2;
 		INT32 startline;