diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
index 3ee599b..c8a4394 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
@@ -196,6 +196,10 @@
               targetJPAEntities.add(targetJPAEntity);
             }
           }
+          if (targetJPAEntity == null){
+            throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.RESOURCE_X_NOT_FOUND
+                .addContent(navPropertyName), null);
+          }
           if (!targetJPAEntities.isEmpty()) {
             linkJPAEntities(targetJPAEntities, sourceJPAEntity, navProperty);
           }
@@ -306,6 +310,10 @@
       }
 
       targetJPAEntity = jpaProcessor.process((GetEntityUriInfo) getUriInfo);
+      if (targetJPAEntity == null){
+        throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.RESOURCE_X_NOT_FOUND
+            .addContent(navigationProperty.getName()), null);
+      }
       if (targetJPAEntity != null && sourceJPAEntity == null) {
         int index = context.getODataContext().getPathInfo().getODataSegments().size() - 2;
         getUriInfo = parser.parseURISegment(0, index);
