Index: subversion/tests/libsvn_delta/diff-diff3-test.c
===================================================================
--- subversion/tests/libsvn_delta/diff-diff3-test.c	(revision 4805)
+++ subversion/tests/libsvn_delta/diff-diff3-test.c	(working copy)
@@ -352,9 +352,6 @@
   if (msg_only)
     return SVN_NO_ERROR;
 
-  if (! getenv ("SVN_DIFF_TEST_DUMP_CORE"))
-    return svn_error_create (SVN_ERR_TEST_FAILED, NULL, "not attempted");
-
   SVN_ERR (two_way_diff ("foo1", "bar1",
                          "",
                          "",
@@ -1292,7 +1289,7 @@
 struct svn_test_descriptor_t test_funcs[] =
   {
     SVN_TEST_NULL,
-    SVN_TEST_XFAIL (dump_core),
+    SVN_TEST_PASS (dump_core),
     SVN_TEST_PASS (test_two_way_unified),
     SVN_TEST_XFAIL (test_two_way_unified_suspect),
     SVN_TEST_PASS (test_three_way_merge_no_overlap),
Index: subversion/libsvn_delta/diff.c
===================================================================
--- subversion/libsvn_delta/diff.c	(revision 4805)
+++ subversion/libsvn_delta/diff.c	(working copy)
@@ -593,8 +593,10 @@
      * so that common_diff/conflict detection actually is
      * able to work
      */
-    position_list[1] = position_list[1]->next;
-    position_list[2] = position_list[2]->next;
+    if (position_list[1])
+      position_list[1] = position_list[1]->next;
+    if (position_list[2])
+      position_list[2] = position_list[2]->next;
 
     while (1)
       {

