diff --git a/hw/e1000.c b/hw/e1000.c
index a52433e..028afd1 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1115,7 +1115,6 @@
     vmstate_register(-1, &vmstate_e1000, d);
     e1000_reset(d);
 
-#if 0 /* rom bev support is broken -> can't load unconditionally */
     if (!pci_dev->qdev.hotplugged) {
         static int loaded = 0;
         if (!loaded) {
@@ -1123,7 +1122,6 @@
             loaded = 1;
         }
     }
-#endif
     return 0;
 }
 
diff --git a/hw/pc.c b/hw/pc.c
index acae759..bf4718e 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1152,27 +1152,6 @@
         rom_add_option(option_rom[i]);
     }
 
-#if 1
-    /*
-     * Needed for the e1000 rom only.  The rom doesn't do proper BEV
-     * and thus we can't load it unconditionally.
-     */
-    for (i = 0; i < nb_nics; i++) {
-        char nic_oprom[1024];
-        const char *model = nd_table[i].model;
-
-        if (!nd_table[i].bootable)
-            continue;
-
-        if (model == NULL)
-            model = "e1000";
-        if (strcmp(model,"e1000") != 0)
-            continue;
-        snprintf(nic_oprom, sizeof(nic_oprom), "pxe-%s.bin", model);
-        rom_add_option(nic_oprom);
-    }
-#endif
-
     cpu_irq = qemu_allocate_irqs(pic_irq_request, NULL, 1);
     i8259 = i8259_init(cpu_irq[0]);
     isa_irq_state = qemu_mallocz(sizeof(*isa_irq_state));
