bug 288218 - component member variable was not yet set and so the model was never saved.
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java
index 5f637f9..fcc3859 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java
@@ -312,7 +312,7 @@
 		}
 		finally {
 			if (moduleCore != null) {
-				if (component != null)
+				if (getComponent() != null)
 					moduleCore.saveIfNecessary(monitor);
 				moduleCore.dispose();
 			}