diff --git a/drivers/edac/e7xxx_edac.c b/drivers/edac/e7xxx_edac.c
index 8001797a6bc5ed130dbf08bda72ba6cdec054090..ec6eb77edaed7253eb99f05ff1354976eea2f859 100644
--- a/drivers/edac/e7xxx_edac.c
+++ b/drivers/edac/e7xxx_edac.c
@@ -512,7 +512,7 @@ static void __devexit e7xxx_remove_one(struct pci_dev *pdev)
 	debugf0("%s()\n", __func__);
 
 	if (((mci = edac_mc_find_mci_by_pdev(pdev)) != 0) &&
-	    edac_mc_del_mc(mci)) {
+	    !edac_mc_del_mc(mci)) {
 		pvt = (struct e7xxx_pvt *) mci->pvt_info;
 		pci_dev_put(pvt->bridge_ck);
 		edac_mc_free(mci);