diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 06083c32869a14b0c18aece6a88d3dbeb43f6db3..9e4283aff828d9adc1f03db2276b38add2b9a31d 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -473,6 +473,10 @@ int open_candev(struct net_device *dev)
 		return -EINVAL;
 	}
 
+	/* Switch carrier on if device was stopped while in bus-off state */
+	if (!netif_carrier_ok(dev))
+		netif_carrier_on(dev);
+
 	setup_timer(&priv->restart_timer, can_restart, (unsigned long)dev);
 
 	return 0;