diff --git a/src/mm-iface-modem-firmware.c b/src/mm-iface-modem-firmware.c
index 0646f376fd48932d245b8fcdccaf0e546397f324..45f8bc2a0639e8b287cef2db8b38642c1d70ca06 100644
--- a/src/mm-iface-modem-firmware.c
+++ b/src/mm-iface-modem-firmware.c
@@ -81,7 +81,7 @@ load_current_ready (MMIfaceModemFirmware *self,
     }
 
     /* Build array of dicts */
-    g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY);
+    g_variant_builder_init (&builder, G_VARIANT_TYPE ("aa{sv}"));
     for (l = ctx->list; l; l = g_list_next (l))
         g_variant_builder_add_value (
             &builder,