273344 -  Deleting text from XML
diff --git a/bundles/org.eclipse.wst.xml.core/src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java b/bundles/org.eclipse.wst.xml.core/src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java
index 8b23e11..0f50aa9 100644
--- a/bundles/org.eclipse.wst.xml.core/src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java
+++ b/bundles/org.eclipse.wst.xml.core/src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java
@@ -66,6 +66,8 @@
 	private IModelManager modelManager;
 	
 	private Class resourceClass;
+	
+	private boolean reverting = false;
 
 	/** The XML DOM model */
 	protected IDOMModel xmlModel;
@@ -440,7 +442,7 @@
 		if (isBatchChanges)
 			return;
 		try {
-			if (aboutToChangeNode != null && model.getStructuredDocument() != null
+			if (reverting && aboutToChangeNode != null && model.getStructuredDocument() != null
 					&& model.getStructuredDocument().getFirstStructuredDocumentRegion() != aboutToChangeNode) {
 				String id = getModelManagerId();
 				IStructuredModel tempModel = null;
@@ -452,6 +454,7 @@
 					if (tempModel != null && (tempModel.getReferenceCountForEdit() > 0)) {
 						tempModel.releaseFromEdit();
 					}
+					reverting = false;
 				}
 			}
 		} finally {
@@ -500,11 +503,15 @@
 	}
 
 	public void processPostModelEvent(ModelLifecycleEvent event) {
-		// TODO Auto-generated method stub
+		if (event.getType() == ModelLifecycleEvent.MODEL_REVERT)
+			reverting = false;
 
 	}
 
 	public void processPreModelEvent(ModelLifecycleEvent event) {
+		if (event.getType() == ModelLifecycleEvent.MODEL_REVERT)
+			reverting = true;
+			
 		if (!isSaving) {
 			if (event.getType() == ModelLifecycleEvent.MODEL_SAVED) {
 				ResourceSetWorkbenchEditSynchronizer synchronizer = (ResourceSetWorkbenchEditSynchronizer) ((ProjectResourceSet) resource.getResourceSet()).getSynchronizer();
@@ -512,6 +519,7 @@
 				synchronizer.preSave(aFile, resource);
 			}
 		}
+		
 	}