diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index ea23da53677b0c9740767a0324a7c8cdee859b0e..9b16c2a899e0f10088e29894bd46faaf9bcc2b3d 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -3327,6 +3327,8 @@ static void __devexit sky2_remove(struct pci_dev *pdev)
 	del_timer_sync(&hw->idle_timer);
 
 	sky2_write32(hw, B0_IMSK, 0);
+	synchronize_irq(hw->pdev->irq);
+
 	dev0 = hw->dev[0];
 	dev1 = hw->dev[1];
 	if (dev1)