diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py
index fea1a1f194874aefc3968fb662c43020351666fd..5e466b61b5e238525a86431e2dcd908e9338d74c 100644
--- a/brian_dashboard_manager/templating/helpers.py
+++ b/brian_dashboard_manager/templating/helpers.py
@@ -214,7 +214,8 @@ def get_interface_data(interfaces, name_parse_func=None):
         peer.append({
             'title': panel_title,
             'interface': interface_name,
-            'hostname': host
+            'hostname': host,
+            'has_v6': len(interface.get('ipv6', [])) > 0
         })
         result[dashboard_name] = peer
     return result
@@ -245,7 +246,7 @@ def get_aggregate_interface_data(interfaces, agg_type):
             'interface': interface_name,
             'hostname': host,
             'remote': remote,
-            'alias': f"{host.split('.')[1].upper()} - {remote}"
+            'alias': f"{host.split('.')[1].upper()} - {remote}",
         })
     return reduce(reduce_func, result, {})
 
@@ -329,8 +330,9 @@ def get_dashboard_data(data, datasource, tag, errors=False):
         for panel in panels:
             result.append(get_panel_fields(
                 {**panel, **next(gridPos)}, 'traffic', datasource))
-            result.append(get_panel_fields(
-                {**panel, **next(gridPos)}, 'IPv6', datasource))
+            if panel.get('has_v6', False):
+                result.append(get_panel_fields(
+                    {**panel, **next(gridPos)}, 'IPv6', datasource))
             if errors:
                 result.append(get_panel_fields(
                     {**panel, **next(gridPos)}, 'errors', datasource))
diff --git a/brian_dashboard_manager/templating/nren_access.py b/brian_dashboard_manager/templating/nren_access.py
index bf258ea240618a9127d8d184a8808ac9162fa27d..9417bd366220ecc54bd3dbbf8100a04d35604e1c 100644
--- a/brian_dashboard_manager/templating/nren_access.py
+++ b/brian_dashboard_manager/templating/nren_access.py
@@ -70,8 +70,9 @@ def get_panel_definitions(panels, datasource, errors=False):
     for panel in panels:
         result.append(get_panel_fields(
             {**panel, **next(gridPos)}, 'traffic', datasource))
-        result.append(get_panel_fields(
-            {**panel, **next(gridPos)}, 'IPv6', datasource))
+        if panel.get('has_v6', False):
+            result.append(get_panel_fields(
+                {**panel, **next(gridPos)}, 'IPv6', datasource))
         if errors:
             result.append(get_panel_fields(
                 {**panel, **next(gridPos)}, 'errors', datasource))