Yet another attempt to fix resource not found exceptions.
diff --git a/core/org.eclipse.rcptt.core/src/org/eclipse/rcptt/internal/core/model/Q7NamedElement.java b/core/org.eclipse.rcptt.core/src/org/eclipse/rcptt/internal/core/model/Q7NamedElement.java
index 9e99be0..e81ce7f 100644
--- a/core/org.eclipse.rcptt.core/src/org/eclipse/rcptt/internal/core/model/Q7NamedElement.java
+++ b/core/org.eclipse.rcptt.core/src/org/eclipse/rcptt/internal/core/model/Q7NamedElement.java
@@ -114,8 +114,7 @@
 			info = (Q7ResourceInfo) getElementInfo();
 		}
 		if (info == null || info.getNamedElement() == null) {
-			throw new ModelException(RcpttPlugin.createStatus("Resources "
-					+ getPath() + " does not exist"));
+			throw newNotPresentException();
 		}
 		return info;
 	}
@@ -286,13 +285,17 @@
 	}
 
 	public boolean hasUnsavedChanges() throws ModelException {
-		ModelManager manager = ModelManager.getModelManager();
-		Object info = manager.getInfo(this);
-		if (info == null && !isWorkingCopy()) {
-			return false;
+		Q7ResourceInfo info = null;
+		if (isWorkingCopy()) {
+			info = getPerWorkingCopyInfo().resourceInfo;
+			if (info != null)
+				return info.hasChanges();
 		}
-
-		return getInfo().hasChanges();
+		ModelManager manager = ModelManager.getModelManager();
+		info = (Q7ResourceInfo) manager.getInfo(this);
+		if (info == null)
+			return false;
+		return info.hasChanges();
 	}
 
 	@Override