diff --git a/org.eclipse.modisco.java.composition.discoverer/META-INF/MANIFEST.MF b/org.eclipse.modisco.java.composition.discoverer/META-INF/MANIFEST.MF
index da7c786..ae9de9a 100644
--- a/org.eclipse.modisco.java.composition.discoverer/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.java.composition.discoverer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.modisco.java.composition.discoverer;singleton:=true
-Bundle-Version: 1.5.0.qualifier
+Bundle-Version: 1.5.4.qualifier
 Bundle-Activator: org.eclipse.modisco.java.composition.discoverer.Activator
 Bundle-Vendor: %Bundle-Vendor
 Require-Bundle: org.eclipse.ui,
diff --git a/org.eclipse.modisco.java.composition.discoverer/src/org/eclipse/modisco/java/composition/discoverer/AbstractDiscoverKDMSourceAndJavaModel.java b/org.eclipse.modisco.java.composition.discoverer/src/org/eclipse/modisco/java/composition/discoverer/AbstractDiscoverKDMSourceAndJavaModel.java
index 324781e..68d7fe1 100644
--- a/org.eclipse.modisco.java.composition.discoverer/src/org/eclipse/modisco/java/composition/discoverer/AbstractDiscoverKDMSourceAndJavaModel.java
+++ b/org.eclipse.modisco.java.composition.discoverer/src/org/eclipse/modisco/java/composition/discoverer/AbstractDiscoverKDMSourceAndJavaModel.java
@@ -423,11 +423,9 @@
 
 		// List all compilation unit in the model
 		List<CompilationUnit> compilationUnitList = new ArrayList<CompilationUnit>();
-		// bug 332068: we have to filter all compilation units named "package-info.java"
+		// The Bug 397384 fix ensures we have no compilation units named "package-info.java"
 		for (CompilationUnit cu : getJavaModel().getCompilationUnits()) {
-			if (!cu.getName().equals("package-info.java")) { //$NON-NLS-1$
-				compilationUnitList.add(cu);
-			} // else it is only javadoc or annotations for parent package
+			compilationUnitList.add(cu);
 		}
 
 		// List all Source File in the model
diff --git a/org.eclipse.modisco.java.discoverer.tests/META-INF/MANIFEST.MF b/org.eclipse.modisco.java.discoverer.tests/META-INF/MANIFEST.MF
index b4cf53b..9890f1a0 100644
--- a/org.eclipse.modisco.java.discoverer.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.java.discoverer.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.modisco.java.discoverer.tests;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.5.4.qualifier
 Bundle-Activator: org.eclipse.modisco.java.discoverer.tests.Activator
 Bundle-Vendor: %Bundle-Vendor
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
diff --git a/org.eclipse.modisco.java.discoverer.tests/pom.xml b/org.eclipse.modisco.java.discoverer.tests/pom.xml
index f8f4791..53850ee 100644
--- a/org.eclipse.modisco.java.discoverer.tests/pom.xml
+++ b/org.eclipse.modisco.java.discoverer.tests/pom.xml
@@ -26,7 +26,7 @@
   </parent>
   <groupId>org.eclipse.modisco</groupId>
   <artifactId>org.eclipse.modisco.java.discoverer.tests</artifactId>
-  <version>1.5.1-SNAPSHOT</version>
+  <version>1.5.4-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
    <build>
       <plugins>
diff --git a/org.eclipse.modisco.java.discoverer.tests/workspace/bug318631/src/Empty.java b/org.eclipse.modisco.java.discoverer.tests/workspace/bug318631/src/Empty.java
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/org.eclipse.modisco.java.discoverer.tests/workspace/bug318631/src/Empty.java
diff --git a/org.eclipse.modisco.java.discoverer/META-INF/MANIFEST.MF b/org.eclipse.modisco.java.discoverer/META-INF/MANIFEST.MF
index beb9706..4d99e46 100644
--- a/org.eclipse.modisco.java.discoverer/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.java.discoverer/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %Bundle-Vendor
 Bundle-SymbolicName: org.eclipse.modisco.java.discoverer;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.5.4.qualifier
 Bundle-Name: %Bundle-Name
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.modisco.infra.common.core,
diff --git a/org.eclipse.modisco.java.discoverer/src/org/eclipse/modisco/java/discoverer/internal/io/java/JDTVisitor.java b/org.eclipse.modisco.java.discoverer/src/org/eclipse/modisco/java/discoverer/internal/io/java/JDTVisitor.java
index 05bd8a1..99a9c06 100644
--- a/org.eclipse.modisco.java.discoverer/src/org/eclipse/modisco/java/discoverer/internal/io/java/JDTVisitor.java
+++ b/org.eclipse.modisco.java.discoverer/src/org/eclipse/modisco/java/discoverer/internal/io/java/JDTVisitor.java
@@ -733,18 +733,19 @@
 	@Override
 	public boolean visit(final org.eclipse.jdt.core.dom.CompilationUnit node) {
 		this.cuNode = node;
-
-		CompilationUnit element = this.factory.createCompilationUnit();
-		this.binding.put(node, element);
-
-		if (!this.isINCREMENTALDISCOVERING) {
-			// we check if any of the top-level types of this compilation unit
-			// are already defined in the model
-			for (Iterator<?> iterator = node.types().iterator(); iterator.hasNext();) {
-				if (isTypeAlreadyVisited((org.eclipse.jdt.core.dom.AbstractTypeDeclaration) iterator
-						.next())) {
-					this.isAlreadyVisited = true;
-					return false;
+		if (node.types().size() > 0) {	// Bug 397384 ignore empty files, Bug 332068 ignore package-info.java
+			CompilationUnit element = this.factory.createCompilationUnit();
+			this.binding.put(node, element);
+	
+			if (!this.isINCREMENTALDISCOVERING) {
+				// we check if any of the top-level types of this compilation unit
+				// are already defined in the model
+				for (Iterator<?> iterator = node.types().iterator(); iterator.hasNext();) {
+					if (isTypeAlreadyVisited((org.eclipse.jdt.core.dom.AbstractTypeDeclaration) iterator
+							.next())) {
+						this.isAlreadyVisited = true;
+						return false;
+					}
 				}
 			}
 		}
