diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 42171ad001dd9999445806e1289faf2ee219ea32..eddb8d3a620e184a9ea763450220db3d130ece1a 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -540,6 +540,11 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id)
 		return IRQ_NONE;
 
 	base = card->base;
+
+	/* did the card interrupt us? */
+	if (!(inw(base + 0x0e) & 0x02))
+		return IRQ_NONE;
+
 	spin_lock(&card->card_lock);
 
 	/*