diff --git a/modules/intermediate_format/preprocessing.xqm b/modules/intermediate_format/preprocessing.xqm
index 84fa9cadb437366c0a97ba67b754d45ec85c9024..95628d8a354f534140c8c3130779314ff7f07db8 100644
--- a/modules/intermediate_format/preprocessing.xqm
+++ b/modules/intermediate_format/preprocessing.xqm
@@ -118,7 +118,10 @@ declare function pre:default-element
             or self::foreign or self::choice or self::milestone or self::persName
             or self::choice or self::index or self::seg or self::ptr]
             and not($node[self::index])
-            or ($node[self::milestone]) and $following-node[self::text()])
+            or ($node[self::milestone]) and $following-node[self::text()]
+            (: ptr in the critical apparatus produce the siglum '[E]' which should
+            be followed by a whitespace :)
+            or ($node[self::ptr] and $node/ancestor::rdg[@type = ("v", "pp", "pt")]))
             then
                 attribute {"break-after"}{"yes"}
             else ()),
@@ -205,9 +208,7 @@ declare function pre:preprocessing
             )
 
             case element(note) return (
-                if ( $node[@type != "editorial-commentary"] or $node[ not(@type) ] ) then (
-                    pre:default-element( $node, pre:preprocessing($node/node(), $replace-whitespace) )
-                ) else ( )
+                pre:default-element( $node, pre:preprocessing($node/node(), $replace-whitespace) )
             )
 
             case element(pb) return (