diff --git a/src/com/android/contacts/editor/Editor.java b/src/com/android/contacts/editor/Editor.java
index 73b950a..d5c8589 100644
--- a/src/com/android/contacts/editor/Editor.java
+++ b/src/com/android/contacts/editor/Editor.java
@@ -81,7 +81,13 @@
     public void onFieldChanged(String column, String value);
 
     /**
-     * Performs the delete operation for this {@link Editor}.
+     * Marks the underlying ValuesDelta as deleted, but does not update the view.
+     */
+    public void markDeleted();
+
+    /**
+     * Performs the delete operation for this {@link Editor}, which involves both
+     * marking the underlying ValuesDelta as deleted and updating the view.
      */
     public void deleteEditor();
 
diff --git a/src/com/android/contacts/editor/KindSectionView.java b/src/com/android/contacts/editor/KindSectionView.java
index 5837ab1..26ef058 100644
--- a/src/com/android/contacts/editor/KindSectionView.java
+++ b/src/com/android/contacts/editor/KindSectionView.java
@@ -133,6 +133,7 @@
             // If there is a listener, let it decide whether to delete the Editor or the entire
             // KindSectionView so that there is no jank from both animations happening in succession.
             if (mListener != null) {
+                editor.markDeleted();
                 mListener.onDeleteRequested(editor);
             } else {
                 editor.deleteEditor();
@@ -140,10 +141,21 @@
         }
     }
 
+    /**
+     * Calling this signifies that this entire section view is intended to be removed from the
+     * layout. Note, calling this does not change the deleted state of any underlying
+     * {@link Editor}, i.e. {@link com.android.contacts.common.model.ValuesDelta#markDeleted()}
+     * is not invoked on any editor in this section.  It is purely marked for higher level UI
+     * layers to manipulate the layout w/o introducing jank.
+     * See b/22228718 for context.
+     */
     public void markForRemoval() {
         mMarkedForRemoval = true;
     }
 
+    /**
+     * Whether the entire section view is intended to be removed from the layout.
+     */
     public boolean isMarkedForRemoval() {
         return mMarkedForRemoval;
     }
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index fe7ae0a..931d7cf 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -185,9 +185,14 @@
     }
 
     @Override
-    public void deleteEditor() {
+    public void markDeleted() {
         // Keep around in model, but mark as deleted
         mEntry.markDeleted();
+    }
+
+    @Override
+    public void deleteEditor() {
+        markDeleted();
 
         // Remove the view
         EditorAnimator.getInstance().removeEditorView(this);
diff --git a/src/com/android/contacts/editor/PhotoEditorView.java b/src/com/android/contacts/editor/PhotoEditorView.java
index 40f4f82..f69c935 100644
--- a/src/com/android/contacts/editor/PhotoEditorView.java
+++ b/src/com/android/contacts/editor/PhotoEditorView.java
@@ -252,6 +252,11 @@
     }
 
     @Override
+    public void markDeleted() {
+        // Photo is not deletable
+    }
+
+    @Override
     public void deleteEditor() {
         // Photo is not deletable
     }
