diff --git a/modules/video_coding/codecs/av1/av1_svc_config.cc b/modules/video_coding/codecs/av1/av1_svc_config.cc
index b15443c..2f1026b 100644
--- a/modules/video_coding/codecs/av1/av1_svc_config.cc
+++ b/modules/video_coding/codecs/av1/av1_svc_config.cc
@@ -24,17 +24,19 @@
 bool SetAv1SvcConfig(VideoCodec& video_codec) {
   RTC_DCHECK_EQ(video_codec.codecType, kVideoCodecAV1);
 
-  if (video_codec.ScalabilityMode().empty()) {
-    RTC_LOG(LS_INFO) << "No scalability mode set.";
-    return false;
+  absl::string_view scalability_mode = video_codec.ScalabilityMode();
+  if (scalability_mode.empty()) {
+    RTC_LOG(LS_WARNING) << "Scalability mode is not set, using 'NONE'.";
+    scalability_mode = "NONE";
   }
+
   std::unique_ptr<ScalableVideoController> structure =
-      CreateScalabilityStructure(video_codec.ScalabilityMode());
+      CreateScalabilityStructure(scalability_mode);
   if (structure == nullptr) {
-    RTC_LOG(LS_INFO) << "Failed to create structure "
-                     << video_codec.ScalabilityMode();
+    RTC_LOG(LS_WARNING) << "Failed to create structure " << scalability_mode;
     return false;
   }
+
   ScalableVideoController::StreamLayersConfig info = structure->StreamConfig();
   for (int sl_idx = 0; sl_idx < info.num_spatial_layers; ++sl_idx) {
     SpatialLayer& spatial_layer = video_codec.spatialLayers[sl_idx];
diff --git a/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc b/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc
index e603532..d8aec65 100644
--- a/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc
+++ b/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc
@@ -21,9 +21,6 @@
   VideoCodec video_codec;
   video_codec.codecType = kVideoCodecAV1;
 
-  video_codec.SetScalabilityMode("");
-  EXPECT_FALSE(SetAv1SvcConfig(video_codec));
-
   video_codec.SetScalabilityMode("Unknown");
   EXPECT_FALSE(SetAv1SvcConfig(video_codec));
 
@@ -31,6 +28,18 @@
   EXPECT_TRUE(SetAv1SvcConfig(video_codec));
 }
 
+TEST(Av1SvcConfigTest, TreatsEmptyAsNone) {
+  VideoCodec video_codec;
+  video_codec.codecType = kVideoCodecAV1;
+
+  video_codec.SetScalabilityMode("");
+  EXPECT_TRUE(SetAv1SvcConfig(video_codec));
+
+  EXPECT_TRUE(video_codec.spatialLayers[0].active);
+  EXPECT_EQ(video_codec.spatialLayers[0].numberOfTemporalLayers, 1);
+  EXPECT_FALSE(video_codec.spatialLayers[1].active);
+}
+
 TEST(Av1SvcConfigTest, SetsActiveSpatialLayersFromScalabilityMode) {
   VideoCodec video_codec;
   video_codec.codecType = kVideoCodecAV1;
