Index: subversion/libsvn_wc/diff.c
===================================================================
--- subversion/libsvn_wc/diff.c	(revision 17206)
+++ subversion/libsvn_wc/diff.c	(working copy)
@@ -855,8 +855,6 @@ delete_entry (const char *path,
          the empty file against the current working copy.  If
          'reverse_order' is set, then show a deletion. */
 
-      if (entry->schedule == svn_wc_schedule_delete)
-        SVN_ERR (get_empty_file (pb->edit_baton, &full_path));
       SVN_ERR (get_local_mimetypes (&pristine_mimetype, &working_mimetype,
                                     NULL, adm_access, full_path, pool));
 
@@ -866,6 +864,8 @@ delete_entry (const char *path,
           const char *textbase = svn_wc__text_base_path (full_path,
                                                          FALSE, pool);
 
+          if (entry->schedule == svn_wc_schedule_delete)
+            SVN_ERR (get_empty_file (pb->edit_baton, &textbase));
           SVN_ERR (svn_wc_get_prop_diffs (NULL, &baseprops, full_path,
                                           adm_access, pool));
           SVN_ERR (pb->edit_baton->callbacks->file_deleted
@@ -879,12 +879,15 @@ delete_entry (const char *path,
         }
       else
         {
-          /* Or normally, show the working file being added. */
+          const char *secondpath = full_path;
+          if (entry->schedule == svn_wc_schedule_delete)
+            secondpath = empty_file;
+	  /* Or normally, show the working file being added. */
           /* ### Show the properties as well. */
           SVN_ERR (pb->edit_baton->callbacks->file_added
                    (NULL, NULL, NULL, full_path,
                     empty_file,
-                    full_path,
+                    secondpath,
                     0, entry->revision,
                     NULL,
                     working_mimetype,
Index: subversion/tests/clients/cmdline/diff_tests.py
===================================================================
--- subversion/tests/clients/cmdline/diff_tests.py	(revision 17206)
+++ subversion/tests/clients/cmdline/diff_tests.py	(working copy)
@@ -1952,6 +1952,20 @@ def diff_property_changes_to_base(sbox):
   finally:
     os.chdir(current_dir)
 
+def diff_schedule_delete(sbox):
+  "scheduled deleted"
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  was_cwd = os.getcwd()
+  os.chdir(wc_dir)
+  svntest.main.file_append('foo', "xxx")
+  svntest.main.run_svn(None, 'add', 'foo')
+  diff_output, err_output = svntest.main.run_svn(None, 'ci', '-m', 'log msg')
+  if err_output: raise svntest.Failure
+  svntest.main.run_svn(None, 'rm', 'foo')
+  diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+                                                        'diff', '-r', '0' )
+  if err: raise svntest.Failure
 
 ########################################################################
 #Run the tests
@@ -1987,6 +2001,7 @@ test_list = [ None,
               diff_force,
               XFail(diff_renamed_dir),
               XFail(diff_property_changes_to_base),
+              diff_schedule_delete
               ]
 
 if __name__ == '__main__':
