diff --git a/lib/KorAP/Document/Primary.pm b/lib/KorAP/Document/Primary.pm
index 8566896..0e9d2f3 100644
--- a/lib/KorAP/Document/Primary.pm
+++ b/lib/KorAP/Document/Primary.pm
@@ -29,12 +29,13 @@
   return $self->[0] unless $to;
 
   my $substr = substr($self->[0], $from, $to - $from);
-  if ($substr) {
+  if (defined $substr) {
 #    return b($substr)->encode;
     return $substr;
   };
+
   # encode 'UTF-8',
-  carp 'Unable to find substring';
+  # carp 'Unable to find substring';
   return;
 };
 
@@ -51,12 +52,14 @@
   return b($self->[0])->decode unless $to;
 
   my $substr = substr($self->[0], $from, $to - $from);
-  if ($substr) {
+  if (defined $substr) {
 #    return b($substr)->encode;
     return b($substr)->decode;
   };
+
   # encode 'UTF-8',
-  carp 'Unable to find substring';
+  # carp 'Unable to find substring';
+  return;
 };
 
 
diff --git a/lib/KorAP/Tokenizer.pm b/lib/KorAP/Tokenizer.pm
index b60e724..3b83b5f 100644
--- a/lib/KorAP/Tokenizer.pm
+++ b/lib/KorAP/Tokenizer.pm
@@ -49,7 +49,7 @@
       my $to = $span->attr('to');
       my $token = $doc->primary->data($from, $to);
 
-      unless ($token) {
+      unless (defined $token) {
 	  $self->log->error("Unable to find substring [$from-$to] in $path");
 	  return;
       };
@@ -138,7 +138,7 @@
     %param
   );
 
-  my $spanarray = $spans->parse;
+  my $spanarray = $spans->parse or return;
 
   if ($spans->should == $spans->have) {
     $self->log->trace('With perfect alignment!');
@@ -180,7 +180,7 @@
     %param
   );
 
-  my $tokenarray = $tokens->parse;
+  my $tokenarray = $tokens->parse or return;
 
   if ($tokens->should == $tokens->have) {
     $self->log->trace('With perfect alignment!');
diff --git a/lib/KorAP/Tokenizer/Spans.pm b/lib/KorAP/Tokenizer/Spans.pm
index 1b69624..7574743 100644
--- a/lib/KorAP/Tokenizer/Spans.pm
+++ b/lib/KorAP/Tokenizer/Spans.pm
@@ -22,22 +22,20 @@
 
   # my $spans = XML::LibXML->load_xml(string => $file);
 
-  my $spans;
-
+  my ($spans, $error);
   try {
       local $SIG{__WARN__} = sub {
-	  my $msg = shift;
-	  $self->log->error('Error in ' . $path . ($msg ? ': ' . $msg : ''));
+	  $error = 1;
       };
-
       $spans = xml2hash($file, text => '#text', attr => '-')->{layer}->{spanList};
-
   }
   catch  {
-      $self->log->error('Span error in ' . $path . ($_ ? ': ' . $_ : ''));
-      return [];
+      $self->log->warn('Span error in ' . $path . ($_ ? ': ' . $_ : ''));
+      $error = 1;
   };
 
+  return if $error;
+
   if (ref $spans && $spans->{span}) {
       $spans = $spans->{span};
   }
diff --git a/lib/KorAP/Tokenizer/Tokens.pm b/lib/KorAP/Tokenizer/Tokens.pm
index 3e11d86..b62d2bb 100644
--- a/lib/KorAP/Tokenizer/Tokens.pm
+++ b/lib/KorAP/Tokenizer/Tokens.pm
@@ -19,20 +19,20 @@
 #  my $spans = Mojo::DOM->new($file);
 #  $spans->xml(1);
 
-  my $spans;
+  my ($spans, $error);
   try {
       local $SIG{__WARN__} = sub {
-	  my $msg = shift;
-	  $self->log->error('Error in ' . $path . ($msg ? ': ' . $msg : ''));
+	  $error = 1;
       };
-
       $spans = xml2hash($file, text => '#text', attr => '-')->{layer}->{spanList};
   }
   catch  {
-      $self->log->error('Span error in ' . $path . ($_ ? ': ' . $_ : ''));
-      return [];
+      $self->log->warn('Span error in ' . $path . ($_ ? ': ' . $_ : ''));
+      $error = 1;
   };
 
+  return if $error;
+
   if (ref $spans && $spans->{span}) {
       $spans = $spans->{span};
   }
diff --git a/script/create_example.pl b/script/create_example.pl
index 275866e..2b69a4f 100755
--- a/script/create_example.pl
+++ b/script/create_example.pl
@@ -6,7 +6,7 @@
 
 my $dir = $FindBin::Bin;
 
-foreach my $file (qw/00001 00002 00003 00004 00005 00006 02439/) {
+foreach my $file (qw/00001 00002 00003 00004 00005 00006 02035-substring 02439 05663-unbalanced 07452-deep/) {
     my $call = 'perl ' . $dir . '/prepare_index.pl -i ' . $dir . '/../examples/WPD/AAA/' . $file . ' -o ' . $dir . '/../' . $file . '.json';
     print 'Create ' . $file . ".json\n";
     system($call);
