diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
index 3fb9c56..5cc1925 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
@@ -20,7 +20,6 @@
 import org.eclipse.swt.graphics.Rectangle;
 
 import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IPaintPositionManager;
 import org.eclipse.jface.text.IPainter;
@@ -431,7 +430,7 @@
 	/**
 	 * Installs or uninstalls the text listener depending on the boolean parameter.
 	 * 
-	 * @param install <code>true</code> to install the text listener, <code>false</code> to uninstall 
+	 * @param install <code>true</code> to install the text listener, <code>false</code> to uninstall
 	 * 
 	 * @since 3.8
 	 */
@@ -484,20 +483,14 @@
 			if (!fHighlightEnclosingPeerCharacters || !(fMatcher instanceof ICharacterPairMatcherExtension))
 				return;
 
-			String text= event.getText();
-			String replacedText= event.getReplacedText();
-
-			boolean viewerRedrawState= event.getViewerRedrawState();
-			DocumentEvent documentEvent= event.getDocumentEvent();
-			if (documentEvent == null && !viewerRedrawState)
+			if (!event.getViewerRedrawState())
 				return;
 
+			String text= event.getText();
+			String replacedText= event.getReplacedText();
 			ICharacterPairMatcherExtension matcher= (ICharacterPairMatcherExtension)fMatcher;
-			boolean found= searchForCharacters(text, matcher) || searchForCharacters(replacedText, matcher);
-
-			if (found || (documentEvent == null && viewerRedrawState)) {
+			if (searchForCharacters(text, matcher) || searchForCharacters(replacedText, matcher))
 				paint(IPainter.INTERNAL);
-			}
 		}
 
 		/**
