diff --git a/src/app/components/analysis-panel/analysis-panel.component.ts b/src/app/components/analysis-panel/analysis-panel.component.ts
index af9499aef93c4540dfb1d97bca1233b86d67e932..3e9f514f222d8a8a84609a691007e122bfa34900 100644
--- a/src/app/components/analysis-panel/analysis-panel.component.ts
+++ b/src/app/components/analysis-panel/analysis-panel.component.ts
@@ -574,6 +574,12 @@ export class AnalysisPanelComponent implements OnInit, OnChanges, AfterViewInit
       // option to use scores[node] as gradient, but sccores are very small
       nodes.push(NetworkSettings.getNodeStyle(nodeDetails as Node, config, false, false, 1))
     }
+
+    // remove self-edges/loops
+    if (!config.selfReferences) {
+      network.edges = network.edges.filter(el => el.from !== el.to)
+    }
+
     for (const edge of network.edges) {
       edges.push(mapCustomEdge(edge, this.myConfig));
     }
diff --git a/src/app/components/license-agreement/license-agreement.component.ts b/src/app/components/license-agreement/license-agreement.component.ts
index b00ad9224b42b882342ae8a06039d1e6637ea220..1304dd9d01c55cfcaf890f763f10460a6a375151 100644
--- a/src/app/components/license-agreement/license-agreement.component.ts
+++ b/src/app/components/license-agreement/license-agreement.component.ts
@@ -17,7 +17,6 @@ export class LicenseAgreementComponent implements OnInit {
   constructor(public drugstoneConfig: DrugstoneConfigService, public netex: NetexControllerService) { }
 
   public getAgreed() {
-    console.log(sessionStorage.getItem(this.licenseStorageKey) === 'true')
     return sessionStorage.getItem(this.licenseStorageKey) === 'true';
   }
 
diff --git a/src/app/config.ts b/src/app/config.ts
index 34de233484080253c88cd6bbeda76353d8505a4a..8529a7f148730d41440526f73a10b44ae6eca704 100644
--- a/src/app/config.ts
+++ b/src/app/config.ts
@@ -66,6 +66,7 @@ export interface IConfig {
   showLegendEdges: boolean;
   nodeGroups: { [key: string]: NodeGroup };
   edgeGroups: { [key: string]: EdgeGroup };
+  selfReferences: boolean;
   interactionDrugProtein: InteractionDrugProteinDB;
   interactionProteinProtein: InteractionProteinProteinDB;
   indicationDrugDisorder: IndicationDrugDisorderDB;
@@ -123,6 +124,7 @@ export const defaultConfig: IConfig = {
   autofillEdges: true,
   physicsOn: false,
   useNedrexLicensed: true,
+  selfReferences: false,
   nodeGroups: {
     // all NodeGroups but the default group must be set, if not provided by the user, they will be taken from here
     // IMPORTANT: node color must be hexacode!
diff --git a/src/app/main-network.ts b/src/app/main-network.ts
index d00b176931e53eef6379ceebe57f723a10c1b67e..9cc7908913068955f30891a4a377cc21e3ddfb74 100644
--- a/src/app/main-network.ts
+++ b/src/app/main-network.ts
@@ -51,7 +51,13 @@ export class ProteinNetwork {
       nodes.push(mapCustomNode(protein, config));
     }
 
+    // remove self-edges/loops
+    if (!config.selfReferences) {
+      this.edges = this.edges.filter(el => el.from !== el.to)
+    }
+
     for (const edge of this.edges) {
+      console.log(edge)
       edges.push(mapCustomEdge(edge, config));
     }
 
diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts
index a65af8fe041e4d2887de57aeef24fff7b7b051ca..ecd333c418c7d74db2a8929960621322ecb89362 100644
--- a/src/app/pages/explorer-page/explorer-page.component.ts
+++ b/src/app/pages/explorer-page/explorer-page.component.ts
@@ -6,7 +6,6 @@ import {
   Input,
   OnInit,
   Output,
-  ViewChild,
 } from '@angular/core';
 import {
   getWrapperFromNode,
@@ -23,11 +22,9 @@ import { defaultConfig, EdgeGroup, NodeGroup } from '../../config';
 import { NetexControllerService } from 'src/app/services/netex-controller/netex-controller.service';
 import { removeDuplicateObjectsFromList } from '../../utils';
 import * as merge from 'lodash/fp/merge';
-import { AnalysisPanelComponent } from 'src/app/components/analysis-panel/analysis-panel.component';
 import * as JSON5 from 'json5';
 import { DrugstoneConfigService } from 'src/app/services/drugstone-config/drugstone-config.service';
 import { NetworkHandlerService } from 'src/app/services/network-handler/network-handler.service';
-import { NetworkComponent } from 'src/app/components/network/network.component';
 
 
 declare var vis: any;
diff --git a/src/index.html b/src/index.html
index 7094e66b34c1dff7294122619237a13436a1d5a2..668db0dd6a93b554640813fc726d24e2a659fbf8 100644
--- a/src/index.html
+++ b/src/index.html
@@ -71,7 +71,9 @@
               "identifier":"symbol","title":"Drugst.one network","sidebarPos":"right","showOverview":true,"nodeShadow":false,"edgeShadow":false,"showLegend":true,
               "showFooter":true, "showSimpleAnalysis":true,"showAdvAnalysis":true,"showSelection":true,
               "autofillEdges":false,"physicsOn":true}'
-   network='{"nodes": [{"type": "gene", "id": "ZNF235", "group": "proteinCoding", "shape": "circle", "label": "ZNF235", "x": 45.1427, "y": 183.494915, "value": 43}, {"type": "gene", "color": {"background": "#116466", "border": "#000000"}, "font": {"color": "#000000"}, "border_width": 2, "shape": "square", "id": "CEACAM16", "border_width_selected": 0, "shadow": false, "group": "proteinCoding", "label": "CEACAM16", "x": -257.39927, "y": 500, "value": 39, "scaling.min": 2, "scaling.max": 54, "physics": false}]}'>
+   network='{"nodes": [{"type": "gene", "id": "ZNF235", "group": "proteinCoding", "shape": "circle", "label": "ZNF235", "x": 45.1427, "y": 183.494915, "value": 43}, {"type": "gene", "color": {"background": "#116466", "border": "#000000"}, "font": {"color": "#000000"}, "border_width": 2, "shape": "square", "id": "CEACAM16", "border_width_selected": 0, "shadow": false, "group": "proteinCoding", "label": "CEACAM16", "x": -257.39927, "y": 500, "value": 39, "scaling.min": 2, "scaling.max": 54, "physics": false}],
+   "edges":[{"from":"ZNF235","to":"ZNF235"}]
+  }'>
 </drugst-one>
 </div>