diff --git a/drivers/net/pcnet.c b/drivers/net/pcnet.c
index 35254c3..8bb8c67 100644
--- a/drivers/net/pcnet.c
+++ b/drivers/net/pcnet.c
@@ -154,6 +154,12 @@ static struct pci_device_id supported[] = {
 	{}
 };
 
+static struct eth_ops pcnet_ops = {
+	.init = pcnet_init,
+	.halt = pcnet_halt,
+	.send = pcnet_send,
+	.recv = pcnet_recv
+};
 
 int pcnet_initialize (bd_t * bis)
 {
@@ -216,12 +222,9 @@ int pcnet_initialize (bd_t * bis)
 		}
 
 		/*
-		 * Setup device structure and register the driver.
+		 * Setup device ops and register the driver.
 		 */
-		dev->eo->init = pcnet_init;
-		dev->eo->halt = pcnet_halt;
-		dev->eo->send = pcnet_send;
-		dev->eo->recv = pcnet_recv;
+		dev->eo = &pcnet_ops;
 
 		eth_register (dev);
 	}
