diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp
index 17834648c..1534fc5c8 100644
--- a/src/libcamera/control_serializer.cpp
+++ b/src/libcamera/control_serializer.cpp
@@ -601,8 +601,11 @@ ControlList ControlSerializer::deserialize<ControlList>(ByteStreamBuffer &buffer
 
 		case IPA_CONTROL_ID_MAP_V4L2:
 		default:
-			LOG(Serializer, Fatal)
-				<< "A list of V4L2 controls requires an ControlInfoMap";
+			if (hdr->entries > 0) {
+				LOG(Serializer, Fatal)
+					<< "A list of V4L2 controls requires an ControlInfoMap";
+			}
+
 			return {};
 		}
 	}
