diff --git a/modules/module-lua-scripting/pod.c b/modules/module-lua-scripting/pod.c
index 84f8f401fc0ef6570b8118b1c5db5eae28d65462..770a137c9d9cc75794c713f89818ac3e3aa8aec3 100644
--- a/modules/module-lua-scripting/pod.c
+++ b/modules/module-lua-scripting/pod.c
@@ -953,10 +953,8 @@ push_luapod (lua_State *L, WpSpaPod *pod, WpSpaIdValue field_idval)
     lua_newtable (L);
     lua_pushstring (L, "Object");
     lua_setfield (L, -2, "pod_type");
-    lua_pushstring (L, wp_spa_type_name (type));
-    lua_rawseti (L, -2, 1);
     lua_pushstring (L, id_name);
-    lua_rawseti (L, -2, 2);
+    lua_setfield (L, -2, "id_type");
     it = wp_spa_pod_new_iterator (pod);
     lua_newtable (L);
     for (; wp_iterator_next (it, &item); g_value_unset (&item)) {
diff --git a/tests/wplua/scripts/pod.lua b/tests/wplua/scripts/pod.lua
index 1598708bd865cc84b753c6f30c8ae5bef2617005..4356e7f2d827f6311f672140dd36cc9ab9a6e271 100644
--- a/tests/wplua/scripts/pod.lua
+++ b/tests/wplua/scripts/pod.lua
@@ -85,8 +85,7 @@ pod = Pod.Object {
 }
 val = pod:parse()
 assert (val.pod_type == "Object")
-assert (val[1] == "Spa:Pod:Object:Param:PortConfig")
-assert (val[2] == "PortConfig")
+assert (val.id_type == "PortConfig")
 assert (val.properties.direction == "Input")
 assert (val.properties.mode == "dsp")
 assert (val.properties.monitor)
@@ -144,12 +143,12 @@ pod = Pod.Object {
 }
 val = pod:parse()
 assert (val.pod_type == "Object")
-assert (val[1] == "Spa:Pod:Object:Param:PortConfig")
-assert (val[2] == "PortConfig")
+assert (val.id_type == "PortConfig")
 assert (val.properties.direction == "Input")
 assert (val.properties.mode == "dsp")
 assert (val.properties.monitor)
 assert (val.properties.format.pod_type == "Object")
+assert (val.properties.format.id_type == "Format")
 assert (val.properties.format.properties.mediaType == "audio")
 assert (val.properties.format.properties.mediaSubtype == "raw")
 assert (val.properties.format.properties.rate == 48000)