diff --git a/lib/SLUB/LZA/SIPBuilderBagIt.pm b/lib/SLUB/LZA/SIPBuilderBagIt.pm
index 6b390b77e483d2b425809da8349d431dfdecf747..5fbb929c5db9511893baa4cbbffdb4680745118d 100644
--- a/lib/SLUB/LZA/SIPBuilderBagIt.pm
+++ b/lib/SLUB/LZA/SIPBuilderBagIt.pm
@@ -279,6 +279,12 @@ sub validateRightsXML($$){
 
     my $rightsName = basename($rightsFilePath);
     my $xsd_file = path(__FILE__)->parent->realpath->parent->child("xsd")->child($xsdName);    # absolute path
+    if (! $xsd_file->is_file) {
+        use Data::Printer; p($xsd_file);
+        # retry, because assembled path for lib/
+        $xsd_file = path(__FILE__)->parent->parent->parent->realpath->parent->child("xsd")->child($xsdName);
+        use Data::Printer; p($xsd_file);
+    }
 
     my $schema = XML::LibXML::Schema->new(location => $xsd_file);
     my $parser = XML::LibXML->new;