diff --git a/lib/KorAP/XML/TEI/Inline.pm b/lib/KorAP/XML/TEI/Inline.pm
index fd83062..de2a171 100644
--- a/lib/KorAP/XML/TEI/Inline.pm
+++ b/lib/KorAP/XML/TEI/Inline.pm
@@ -198,13 +198,6 @@
 
       my $ws = $self->[WS];
 
-      # ~ whitespace related issue ~
-      if ($from > 0 && not exists $ws->{$from - 1}) {
-
-        # Previous node was a text-node
-        $anno->set_from($from - 1);
-      };
-
       # in case this fails, check input
       if (($from - 1) > $pos) {
         die $log->fatal(
@@ -219,17 +212,30 @@
       #   find example for which this case applies
       #   maybe this is not necessary anymore, because the
       #   above recorrection of the from-value suffices
-      #
-      # TODO:
-      #   check, if it's better to remove this line and
-      #   change above check to 'if ($from - 1) >= $pos;
-      #   do testing with bigger corpus excerpt (wikipedia?)
-      $anno->set_from($pos) if $from == $pos + 1;
+
+      # ~ whitespace related issue ~
+      if ($from > 0) {
+
+        if (exists $ws->{$from - 1}) {
+          # Clean up whitespace
+          delete $ws->{$from  - 1};
+        }
+        else {
+          # Previous node was a text-node
+          $anno->set_from($from - 1);
+        };
+
+        # TODO:
+        #   check, if it's better to remove this line and
+        #   change above check to 'if ($from - 1) >= $pos;
+        #   do testing with bigger corpus excerpt (wikipedia?)
+        if ($from == $pos + 1) {
+          $anno->set_from($pos);
+        };
+      };
+
       $anno->set_to($pos);
       $anno->set_level($depth);
-
-      # Clean up whitespace
-      delete $ws->{$from  - 1} if $from > 0 && exists $ws->{$from - 1};
     }
 
     # Text node
