diff --git a/darcs-beta.cabal b/darcs-beta.cabal
--- a/darcs-beta.cabal
+++ b/darcs-beta.cabal
@@ -1,5 +1,5 @@
 Name: darcs-beta
-version:        2.3.98.2
+version:        2.3.98.3
 License:        GPL
 License-file:   COPYING
 Author:         David Roundy <droundy@darcs.net>, <darcs-users@darcs.net>
diff --git a/release/distributed-context b/release/distributed-context
--- a/release/distributed-context
+++ b/release/distributed-context
@@ -1,1 +1,1 @@
-Just "\nContext:\n\n[TAG 2.3.98.2\nReinier Lamers <tux_rocker@reinier.de>**20100117211225\n Ignore-this: 6b00150eff9b4cbf81db6e2dabd336ad\n] \n"
+Just "\nContext:\n\n[TAG 2.3.98.3\nReinier Lamers <tux_rocker@reinier.de>**20100126101458\n Ignore-this: eb49d49537d842e4556b177adb720c19\n] \n"
diff --git a/src/Darcs/Patch/Split.hs b/src/Darcs/Patch/Split.hs
--- a/src/Darcs/Patch/Split.hs
+++ b/src/Darcs/Patch/Split.hs
@@ -110,18 +110,32 @@
 
 doPrimSplit :: Prim C(x y) -> Maybe (B.ByteString, B.ByteString -> Maybe (FL Prim C(x y)))
 doPrimSplit (FP fn (Hunk n before after))
- = Just (B.concat $ intersperse (BC.pack "\n") $ (helptext ++ [sep] ++ before ++ [sep] ++ after ++ [sep]),
+ = Just (B.concat $ intersperse (BC.pack "\n") $ concat
+           [ helptext
+           , [mkSep " BEFORE (reference) =========================="]
+           , before
+           , [mkSep "=== AFTER (edit) ============================="]
+           , after
+           , [mkSep "=== (edit above) ============================="]
+           ],
          \bs -> do let ls = BC.split '\n' bs
-                   (_, ls') <- breakSep ls
-                   (before', ls'') <- breakSep ls'
-                   (after', _) <- breakSep ls''
+                   (_, ls2) <- breakSep ls        -- before
+                   (before', ls3) <- breakSep ls2 -- after 1
+                   (after', _) <- breakSep ls3    -- after 2
                    return (hunk before before' +>+ hunk before' after' +>+ hunk after' after))
-    where sep = BC.pack "==="
-          helptext = map BC.pack ["Interactive hunk edit:",
-                                  " - Edit the first set of lines to insert a new change before the current one.",
-                                  " - Edit the second set of lines to insert a new change after the current one."]
+    where sep = BC.pack "=========================="
+          helptext = map BC.pack [ "Interactive hunk edit:"
+                                 , " - Edit the section marked 'AFTER'"
+                                 , " - Arbitrary editing is supported"
+                                 , " - This will only affect the patch, not your working copy"
+                                 , " - Hints:"
+                                 , "   - To split added text, delete the part you want to postpone"
+                                 , "   - To split removed text, copy back the part you want to retain"
+                                 , ""
+                                 ]
           hunk b a = canonize (FP fn (Hunk n b a))
-          breakSep xs = case break (==sep) xs of
+          mkSep s = BC.append sep (BC.pack s)
+          breakSep xs = case break (sep `BC.isPrefixOf`) xs of
                            (_, []) -> Nothing
                            (ys, _:zs) -> Just (ys, zs)
 doPrimSplit _ = Nothing
