diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index d1fea5c3dda1b08989e8acfed841129e229421b5..876dbac71060860956f2e939c81efe2b91512775 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -573,6 +573,7 @@ static int atrtr_create(struct rtentry *r, struct net_device *devhint)
 
 	/* Fill in the routing entry */
 	rt->target  = ta->sat_addr;
+	dev_hold(devhint);
 	rt->dev     = devhint;
 	rt->flags   = r->rt_flags;
 	rt->gateway = ga->sat_addr;