diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index 815fec32646924c2c8000cbb25798cd6b227460a..bbc366b32283d9b29320a714063705de934c8db6 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -71,7 +71,7 @@ static void serial_find_console_or_panic(void)
 #endif
 		if (!uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, &dev) ||
 		    !uclass_get_device(UCLASS_SERIAL, INDEX, &dev) ||
-		    (!uclass_first_device(UCLASS_SERIAL, &dev) || dev)) {
+		    (!uclass_first_device(UCLASS_SERIAL, &dev) && dev)) {
 			gd->cur_serial_dev = dev;
 			return;
 		}