diff --git a/src/lib/vis/components/VisualizationTabBar.tsx b/src/lib/vis/components/VisualizationTabBar.tsx
index 5110f6b0862dacaa3617266d70c0a2ee92b5d5bd..be29baef0534b15a514909ae50cdb418e92587af 100644
--- a/src/lib/vis/components/VisualizationTabBar.tsx
+++ b/src/lib/vis/components/VisualizationTabBar.tsx
@@ -15,7 +15,6 @@ import { VisualizationsConfig } from './config';
 import { Visualizations } from './VisualizationPanel';
 import Sortable from 'sortablejs';
 import { VisualizationSettingsType } from '../common';
-import { resultSetFocus } from '@/lib/data-access/store/interactionSlice';
 
 export default function VisualizationTabBar(props: { fullSize: () => void; exportImage: () => void; handleSelect: () => void }) {
   const { activeVisualizationIndex, openVisualizationArray } = useVisualization();
@@ -107,7 +106,6 @@ export default function VisualizationTabBar(props: { fullSize: () => void; expor
                       label={displayName}
                       className="flex items-center gap-2"
                       onClick={async () => {
-                        dispatch(resultSetFocus({ focusType: 'visualization' }));
                         const component = await Visualizations[id]();
                         dispatch(addVisualization({ ...component.default.settings, name: displayName, id }));
                         setOpen(false);
diff --git a/src/lib/vis/views/Recommender.tsx b/src/lib/vis/views/Recommender.tsx
index 6d153798ebe8bfd445904d2ca30575cbab734544..cc5924fab2c1e51915a497219ec3fe8fe07c96d4 100644
--- a/src/lib/vis/views/Recommender.tsx
+++ b/src/lib/vis/views/Recommender.tsx
@@ -4,7 +4,6 @@ import { addVisualization } from '../../data-access/store/visualizationSlice';
 import { useActiveSaveStateAuthorization, useAppDispatch } from '../../data-access';
 import { Visualizations } from '../components/VisualizationPanel';
 import { VisualizationsConfig } from '../components/config/VisualizationConfig';
-import { resultSetFocus } from '@/lib/data-access/store/interactionSlice';
 
 export function Recommender() {
   const dispatch = useAppDispatch();
@@ -28,7 +27,6 @@ export function Recommender() {
                   console.debug('User blocked from editing query due to being a viewer');
                   return;
                 }
-                dispatch(resultSetFocus({ focusType: 'visualization' }));
                 const component = await Visualizations[id]();
                 dispatch(addVisualization({ ...component.default.settings, name: displayName, id }));
               }}
diff --git a/src/lib/vis/visualizations/tablevis/tablevis.tsx b/src/lib/vis/visualizations/tablevis/tablevis.tsx
index 711bf2683a89de2e1a7ec59350c5abe56f76b649..9ce7f0381e141da4c3fe60d49739f984ad8b2d6d 100644
--- a/src/lib/vis/visualizations/tablevis/tablevis.tsx
+++ b/src/lib/vis/visualizations/tablevis/tablevis.tsx
@@ -39,73 +39,78 @@ export const TableVis = forwardRef<TableVisHandle, VisualizationPropTypes<TableP
     const searchResults = useSearchResultData();
     const ref = useRef<HTMLDivElement>(null);
 
-    const displayAttributesSorted = useMemo<string[]>(() => {
-      if (settings.displayAttributes.length != 0) {
-        return [...settings.displayAttributes].sort((a, b) => a.localeCompare(b));
+    const [attributesArray, displayAttributesSorted] = useMemo<[AugmentedNodeAttributes[], string[]]>(() => {
+      let selectedEntity: string = '';
+      let displayAttributes: string[] = [];
+
+      if (settings.selectedEntity != '') {
+        selectedEntity = settings.selectedEntity;
+        displayAttributes = settings.displayAttributes;
+      } else {
+        if (graphMetadata.nodes.labels.length > 0) {
+          selectedEntity = graphMetadata.nodes.labels[0];
+          displayAttributes = Object.keys(graphMetadata.nodes.types[selectedEntity].attributes);
+        }
       }
-      return settings.displayAttributes;
-    }, [settings.displayAttributes]);
 
-    const attributesArray = useMemo<AugmentedNodeAttributes[]>(() => {
-      const displayAttributesSorted = [...settings.displayAttributes].sort((a, b) => a.localeCompare(b));
+      const displayAttributesSorted = [...displayAttributes].sort((a, b) => a.localeCompare(b));
 
       const nodesLabels = graphMetadata.nodes.labels;
 
       let dataNodes = [];
-      if (nodesLabels.includes(settings.selectedEntity)) {
+      if (nodesLabels.includes(selectedEntity)) {
         dataNodes = (searchResults?.nodes?.length ?? 0) === 0 ? data.nodes : searchResults.nodes;
       } else {
         dataNodes = data.edges;
       }
 
-      return (
-        dataNodes
-          .filter(node => {
-            // some dataset do not have label field
-            let labelNode = '';
-            if (node.label !== undefined) {
-              labelNode = node.label;
-            } else {
-              const idParts = node._id.split('/');
-              labelNode = idParts[0];
-            }
-            return labelNode === settings.selectedEntity;
-          })
-          ///.filter((obj) => obj.similarity === undefined || obj.similarity >= similiarityThreshold)
-          .map(node => {
-            // get attributes filtered and sorted
-            const filteredAttributes = Object.fromEntries(
-              Object.entries(node.attributes)
-                .filter(([attr]) => settings.displayAttributes.includes(attr))
-                .sort(([attrA], [attrB]) => settings.displayAttributes.indexOf(attrA) - settings.displayAttributes.indexOf(attrB)),
-            );
+      const attributesArray = dataNodes
+        .filter(node => {
+          // some dataset do not have label field
+          let labelNode = '';
+          if (node.label !== undefined) {
+            labelNode = node.label;
+          } else {
+            const idParts = node._id.split('/');
+            labelNode = idParts[0];
+          }
+          return labelNode === selectedEntity;
+        })
+        .map(node => {
+          // get attributes filtered and sorted
+          const filteredAttributes = Object.fromEntries(
+            Object.entries(node.attributes)
+              .filter(([attr]) => displayAttributes.includes(attr))
+              .sort(([attrA], [attrB]) => displayAttributes.indexOf(attrA) - displayAttributes.indexOf(attrB)),
+          );
 
-            // doubled types structure to handle discrepancies in schema object in sb and dev env.
+          // doubled types structure to handle discrepancies in schema object in sb and dev env.
 
-            const types =
-              schema.nodes.find((n: any) => {
-                const labelNode = node.label;
-                return labelNode === n.key;
-              })?.attributes?.attributes ??
-              schema.nodes.find((n: any) => {
-                const labelNode = node.label;
+          const types =
+            schema.nodes.find((n: any) => {
+              const labelNode = node.label;
+              return labelNode === n.key;
+            })?.attributes?.attributes ??
+            schema.nodes.find((n: any) => {
+              const labelNode = node.label;
 
-                return labelNode === n.name;
-              })?.attributes;
+              return labelNode === n.name;
+            })?.attributes;
+
+          if (types) {
+            return {
+              attribute: filteredAttributes,
+              type: Object.fromEntries(types.map((t: any) => [t.name, t.type])),
+            };
+          } else {
+            return {
+              attribute: filteredAttributes,
+              type: {},
+            };
+          }
+        });
 
-            if (types) {
-              return {
-                attribute: filteredAttributes,
-                type: Object.fromEntries(types.map((t: any) => [t.name, t.type])),
-              };
-            } else {
-              return {
-                attribute: filteredAttributes,
-                type: {},
-              };
-            }
-          })
-      );
+      return [attributesArray, displayAttributesSorted];
     }, [data.nodes, settings.selectedEntity, settings.displayAttributes, searchResults]);
 
     const exportImageInternal = () => {