diff --git a/report/src/main/java/com/buschmais/jqassistant/core/report/api/graph/SubGraphFactory.java b/report/src/main/java/com/buschmais/jqassistant/core/report/api/graph/SubGraphFactory.java
index <HASH>..<HASH> 100644
--- a/report/src/main/java/com/buschmais/jqassistant/core/report/api/graph/SubGraphFactory.java
+++ b/report/src/main/java/com/buschmais/jqassistant/core/report/api/graph/SubGraphFactory.java
@@ -94,6 +94,9 @@ public final class SubGraphFactory {
                     relationship.setEndNode(endNode);
                     relationship.getProperties().putAll(properties);
                     relationship.setLabel((String) virtualObject.get(LABEL));
+                    if (startNode == null || endNode == null || type == null) {
+                        throw new ReportException("The virtual relationship does not contain either start node, end node or type: " + relationship);
+                    }
                     return (I) relationship;
                 case GRAPH:
                     SubGraph subgraph = new SubGraph();
throw exception in SubGraphFactory if a provided virtual relationship is inconsistent