diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index babb1ef37e3426d1693ab749804d3bc228a6ff4f..ac361642567a4d878355f2a7722ad8ef01f81e38 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -5208,7 +5208,8 @@ static int niu_start_xmit(struct sk_buff *skb, struct net_device *dev)
 		}
 		kfree_skb(skb);
 		skb = skb_new;
-	}
+	} else
+		skb_orphan(skb);
 
 	align = ((unsigned long) skb->data & (16 - 1));
 	headroom = align + sizeof(struct tx_pkt_hdr);