diff --git a/dss-xades/src/main/java/eu/europa/esig/dss/xades/validation/OfflineResolver.java b/dss-xades/src/main/java/eu/europa/esig/dss/xades/validation/OfflineResolver.java
index 9a2968f03..14955cabd 100644
--- a/dss-xades/src/main/java/eu/europa/esig/dss/xades/validation/OfflineResolver.java
+++ b/dss-xades/src/main/java/eu/europa/esig/dss/xades/validation/OfflineResolver.java
@@ -102,11 +102,10 @@ public class OfflineResolver extends ResourceResolverSpi {
 		final Attr uriAttr = context.attr;
 		String documentUri = null;
 		if (uriAttr == null && doesContainOnlyOneDocument()) {
-			documentUri = "";
+			documentUri = null;
 		} else if (uriAttr != null) {
-			documentUri = uriAttr.getNodeValue();
+			documentUri = DSSUtils.decodeUrl(uriAttr.getNodeValue());
 		}
-		documentUri = DSSUtils.decodeUrl(documentUri);
 		final DSSDocument document = getDocument(documentUri);
 		if (document instanceof DigestDocument) {
 
@@ -143,6 +142,12 @@ public class OfflineResolver extends ResourceResolverSpi {
 	private static boolean isRightDocument(final String documentUri, final DSSDocument document) {
 
 		final String documentUri_ = document.getName();
+		if (documentUri == null) {
+			return documentUri_ == null;
+		}
+		if (documentUri_ == null) {
+			return false;
+		}
 		if (documentUri.equals(documentUri_)) {
 
 			return true;
