diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c
new file mode 100644
index c5732c3..2472e90
*** a/src/backend/access/gin/ginfast.c
--- b/src/backend/access/gin/ginfast.c
*************** ginInsertCleanup(GinState *ginstate,
*** 803,808 ****
--- 805,812 ----
  
  		if (vac_delay)
  			vacuum_delay_point();
+ 		else
+ 			CHECK_FOR_INTERRUPTS();
  
  		/*
  		 * Is it time to flush memory to disk?	Flush if we are at the end of
*************** ginInsertCleanup(GinState *ginstate,
*** 844,849 ****
--- 848,855 ----
  							   list, nlist, NULL);
  				if (vac_delay)
  					vacuum_delay_point();
+ 				else
+ 					CHECK_FOR_INTERRUPTS();
  			}
  
  			/*
