HEAD - 138577
diff --git a/buildnotes_jdt-core.html b/buildnotes_jdt-core.html
index e176afe..9fbde9f 100644
--- a/buildnotes_jdt-core.html
+++ b/buildnotes_jdt-core.html
@@ -51,7 +51,9 @@
 <h2>What's new in this drop</h2>
 
 <h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139937">139937</a>
+<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138577">138577</a>
+Package content disapear in package explorer
+<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139937">139937</a>
 CompletionContext not automatically accepted when using IEvaluationContext
 <br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139689">139689</a>
 NPE in packages explorer
diff --git a/model/org/eclipse/jdt/internal/core/PackageFragment.java b/model/org/eclipse/jdt/internal/core/PackageFragment.java
index e4bcaba..cc67493 100644
--- a/model/org/eclipse/jdt/internal/core/PackageFragment.java
+++ b/model/org/eclipse/jdt/internal/core/PackageFragment.java
@@ -65,8 +65,12 @@
 
 	// check whether this pkg can be opened
 	if (!underlyingResource.isAccessible()) throw newNotPresentException();
-
+	
+	// check that it is not excluded (https://bugs.eclipse.org/bugs/show_bug.cgi?id=138577)
 	int kind = getKind();
+	if (kind == IPackageFragmentRoot.K_SOURCE && Util.isExcluded(this)) 
+		throw newNotPresentException();
+
 
 	// add compilation units/class files from resources
 	HashSet vChildren = new HashSet();
@@ -162,6 +166,11 @@
 	return Util.equalArraysOrNull(this.names, other.names) &&
 			this.parent.equals(other.parent);
 }
+public boolean exists() {
+	// super.exist() only checks for the parent and the resource existence
+	// so also ensure that the package is not exceluded (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=138577)
+	return super.exists() && !Util.isExcluded(this); 
+}
 /**
  * @see IPackageFragment#getClassFile(String)
  * @exception IllegalArgumentException if the name does not end with ".class"