diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
index 8437172..c808df6 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
@@ -321,8 +321,8 @@
 		}
 
 		final IDocument document = partitioner.getDocument();
-		document.setDocumentPartitioner(null);
 		partitioner.disconnect();
+		document.setDocumentPartitioner(null);
 
 		super.dispose();
 	}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
index 3c35cb4..2e41871 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
@@ -32,6 +32,7 @@
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IDocumentAdapter;
 import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.text.IDocumentPartitioner;
 import org.eclipse.jface.text.IPositionUpdater;
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.JFaceTextUtil;
@@ -376,9 +377,13 @@
 			int offset = event.lineOffset;
 			int length = event.lineText.length();
 
-			StyleRange[] partitionerStyles = ((IConsoleDocumentPartitioner) document.getDocumentPartitioner()).getStyleRanges(offset, length);
-			if (partitionerStyles != null) {
-				Collections.addAll(ranges, partitionerStyles);
+			IDocumentPartitioner partitioner = document.getDocumentPartitioner();
+			if (partitioner instanceof IConsoleDocumentPartitioner) {
+				StyleRange[] partitionerStyles = ((IConsoleDocumentPartitioner) partitioner).getStyleRanges(offset,
+						length);
+				if (partitionerStyles != null) {
+					Collections.addAll(ranges, partitionerStyles);
+				}
 			}
 
 			try {
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
index 609c9f1..7d97706 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
@@ -98,6 +98,10 @@
 	protected void handleVerifyEvent(VerifyEvent e) {
 		final IConsoleDocumentPartitioner partitioner = (IConsoleDocumentPartitioner) getDocument()
 				.getDocumentPartitioner();
+		if (partitioner == null) {
+			e.doit = false;
+			return;
+		}
 		final IConsoleDocumentPartitionerExtension partitionerExt = (IConsoleDocumentPartitionerExtension) partitioner;
 
 		final StyledTextContent content = getTextWidget().getContent();
