diff --git a/src/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx b/src/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx
index 922628d9c902e3a82aade1ed72c95aeee1091462..c400cb4e2c9959cd769c033722423d630edaa938 100644
--- a/src/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx
+++ b/src/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx
@@ -315,7 +315,7 @@ export class NodeLinkLayer extends CompositeLayer<CompositeLayerType> {
         getPosition: (d: NodeQueryResult) => getNodeLocation(d._id),
         // Dynamically compute node radius based on its degree
         getRadius: (d: NodeQueryResult) => getNodeSize(d, label),
-        radiusMinPixels: 5,
+        radiusMinPixels: layerSettings?.nodeSizeMultiplier ? 2 : 5,
         getLineWidth: (d: NodeQueryResult) => (selected && selected.some(sel => sel._id === d._id) ? 2 : 1),
         lineWidthUnits: 'pixels',
         stroked: true,
@@ -358,7 +358,7 @@ export class NodeLinkLayer extends CompositeLayer<CompositeLayerType> {
         }
         return acc;
       }, 0);
-      return baseSize + relationCount * (layerSettings?.nodeSizeMultiplier ?? 0);
+      return Math.min(baseSize + relationCount * (layerSettings?.nodeSizeMultiplier ?? 0), 500000);
     }
 
     function getEdgeLocation(edge: EdgeQueryResult, viewport: Viewport) {