diff --git a/src/app/network-settings.ts b/src/app/network-settings.ts
index aa224ae08169fe85631ae8383787f83c08bb6aca..e23ff7873ce89c6ba07cb308d3ee9cfd5be9067b 100644
--- a/src/app/network-settings.ts
+++ b/src/app/network-settings.ts
@@ -1,8 +1,8 @@
-import {getGradientColor} from './utils';
+import { getGradientColor } from './utils';
 import {
   Node,
 } from './interfaces';
-import {IConfig, defaultConfig} from './config';
+import { IConfig, defaultConfig } from './config';
 import * as merge from 'lodash/fp/merge';
 
 export class NetworkSettings {
@@ -105,16 +105,20 @@ export class NetworkSettings {
     if (node._group) {
       // @ts-ignore
       node.group = node._group;
+    } else {
+      // @ts-ignore
+      node._group = node.group;
     }
+
     // @ts-ignore
     if (node._shadow) { // @ts-ignore
       node.shadow = node._shadow;
     } else {
       if (config.nodeGroups[node.group].shadow) {
-        node.shadow = {enabled: config.nodeGroups[node.group].shadow};
+        node.shadow = { enabled: config.nodeGroups[node.group].shadow };
         node.shadow.color = 'rgba(0,0,0,0.5)';
       } else {
-        node.shadow = {color: 'rgba(0,0,0,0.5)'};
+        node.shadow = { color: 'rgba(0,0,0,0.5)' };
       }
     }
     if (isSeed) {
@@ -126,15 +130,21 @@ export class NetworkSettings {
     // selection on purpose after seed style, so seed style will be combined with selection style
     if (isSelected) {
       // @ts-ignore
-      node._group = node.group;
-      // apply selected node style to node
-      node.group = 'selectedNode';
+      // node._group = node.group;
+      // apply selected node style to node by merging with node style with the selected node style
+      node = { ...node, ...config.nodeGroups[node.group] }
+      node = merge(node, config.nodeGroups.selectedNode);
+
       if (config.nodeGroups[node.group].shadow) {
-        node.shadow = {enabled: config.nodeGroups[node.group].shadow};
+        node.shadow = { enabled: config.nodeGroups[node.group].shadow };
         node.shadow.color = '#000000';
       } else {
-        node.shadow = {color: '#000000'};
+        node.shadow = { color: '#000000' };
       }
+    } else {
+      // remove hard configured attributes from node
+      Object.keys(config.nodeGroups.selectedNode).forEach(e => delete node[e]);
+      Object.keys(config.nodeGroups[node.group]).forEach(e => delete node[e]);
     }
 
     // show image if image url is given. If seed nodes are highlighted, ignore image property
@@ -146,7 +156,7 @@ export class NetworkSettings {
     if (renderer !== null) {
       // @ts-ignore
       node.shape = 'custom';
-      node.color = {opacity: gradient};
+      node.color = { opacity: gradient };
       node.opacity = gradient;
       if (isSeed) {
         // apply seed node style to node
@@ -158,10 +168,10 @@ export class NetworkSettings {
       // @ts-ignore
       node._shadow = node.shadow;
       if (config.nodeGroups[node.group].shadow) {
-        node.shadow = {enabled: config.nodeGroups[node.group].shadow};
+        node.shadow = { enabled: config.nodeGroups[node.group].shadow };
         node.shadow.color = 'rgba(0,0,0,0.5)';
       } else {
-        node.shadow = {color: 'rgba(0,0,0,0.5)'};
+        node.shadow = { color: 'rgba(0,0,0,0.5)' };
       }
       node.ctxRenderer = renderer;
     } else {