diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
index b52b867156be4a13f6a2328fba9a5d2e4f925668..0d138927bd3ae61c29abcf170afc65467f8929f6 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
@@ -965,6 +965,7 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
 				if(sectionPart instanceof AssessmentItemRef) {
 					AssessmentItemRef itemRef = (AssessmentItemRef)sectionPart;
 					ResolvedAssessmentItem resolvedAssessmentItem = resolvedAssessmentTest.getResolvedAssessmentItem(itemRef);
+					checkAndFixAbsolutPath(itemRef); 
 					
 					AssessmentItem assessmentItem = null;
 					if(resolvedAssessmentItem != null) {
@@ -993,6 +994,19 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
 		}
 	}
 	
+	private void checkAndFixAbsolutPath(AssessmentItemRef itemRef) {
+		String href = itemRef.getHref().toString();
+		if(href.startsWith("/") && href.contains("/bcroot/repository/") && href.contains("/_unzipped_/")) {
+			try {
+				int index = href.indexOf("/_unzipped_/") + ("/_unzipped_/").length();
+				String relativeHref = href.substring(index);
+				itemRef.setHref(new URI(relativeHref));
+			} catch (URISyntaxException e) {
+				logError("", e);
+			}
+		}
+	}
+	
 	private void doSaveManifest() {
 		manifestBuilder.write(new File(unzippedDirRoot, "imsmanifest.xml"));
 	}