diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index f23a0487bf13e16a2966e8f7cc4ba8c504d45e53..cfed2b07f3a4a041f048b9e7cec1fcd0ec538924 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -1372,7 +1372,8 @@ static void __devexit igb_remove(struct pci_dev *pdev)
 
 	unregister_netdev(netdev);
 
-	if (!igb_check_reset_block(&adapter->hw))
+	if (adapter->hw.phy.ops.reset_phy &&
+	    !igb_check_reset_block(&adapter->hw))
 		adapter->hw.phy.ops.reset_phy(&adapter->hw);
 
 	igb_remove_device(&adapter->hw);