diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ErrorParserManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ErrorParserManager.java
index c21b1bf577e..c14877761d1 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ErrorParserManager.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ErrorParserManager.java
@@ -311,11 +311,11 @@ public class ErrorParserManager extends OutputStream {
 	 */
 	public void close() throws IOException {
 		if (nOpens > 0 && --nOpens == 0) {
+			checkLine(true);
 			fDirectoryStack.removeAllElements();
 			fBaseDirectory = null;
 			if (outputStream != null)
 				outputStream.close();
-			checkLine(true);
 		}
 	}