diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py
index 5211ad935521eddf7cb47e5fd443542b0b1cc22c..7146f321b1ef3be193dbac93b9d0b043065204dd 100644
--- a/src/webui/service/__init__.py
+++ b/src/webui/service/__init__.py
@@ -45,10 +45,12 @@ def json_to_list(json_str : str) -> List[Union[str, Tuple[str, str]]]:
         data = json.loads(json_str)
     except: # pylint: disable=bare-except
         return [('item', str(json_str))]
-
+    
     if isinstance(data, dict):
         return [('kv', (key, value)) for key, value in data.items()]
-    elif isinstance(data, list) and not isinstance(data[0], dict):
+    elif isinstance(data, list) and len(data) == 1 and isinstance(data[0], dict): # BWM use-case
+        return [('kv', (key, value)) for key, value in data[0].items()]
+    elif isinstance(data, list) and all(isinstance(d, str) for d in data):
         return [('item', ', '.join(data))]
     else:
         return [('item', str(data))]