diff --git a/fgs/pandoc.py b/fgs/pandoc.py
index 4f84f65d41bab1cc35420c98307da6705f8522e9..8f17e7652e5e4e5dfe1e311f4d364fe252b249c2 100644
--- a/fgs/pandoc.py
+++ b/fgs/pandoc.py
@@ -169,12 +169,15 @@ class Element():
         for c in raw_attr[1]:
             classes.append(self.parse_text(c))
         res['classes'] = classes
-        # convert [ "key1", "value1", "key2", "value2" ] to {"key1":"value1", "key2", "value2"}
-        it = iter(raw_attr[2])
-        kvp = dict(zip(it, it)) # key-value pairs
+
+        # convert [ ["key1","value1"] , ["key2","value2"] ] to {"key1":"value1", "key2", "value2"}
+        kvp = {} # key-value pairs
+        for kvitem in raw_attr[2]:
+            kvp[kvitem[0]] = kvitem[1]
+
         extra = {}
         for key, value in kvp.items():
-            res[key] = self.parse_text(value)
+            extra[key] = self.parse_text(value)
         res['extra'] = extra
 
         return res