Bug 347558 - Avoid passing null to listenerList#remove

Change-Id: Ia83a4d99bd4db38095b88ec7fc593b3cb7831616
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java
index 8d98863..852901c 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java
@@ -231,13 +231,12 @@
 		super.handleDispose();
 		ICompareInput compareInput = getCompareInput();
 		if (compareInput != null) {
-			if (Policy.DEBUG_COMPARE_EDITOR_INPUT) {
-				if (compareInputChangeListener == null) {
-					logTrace("null change listener detected!"); //$NON-NLS-1$
-					logStackTrace();
-				}
+			if (compareInputChangeListener != null) {
+				compareInput.removeCompareInputChangeListener(compareInputChangeListener);
+			} else if (Policy.DEBUG_COMPARE_EDITOR_INPUT) {
+				logTrace("compareInputChangeListener is unexpectedly null!"); //$NON-NLS-1$
+				logStackTrace();
 			}
-			compareInput.removeCompareInputChangeListener(compareInputChangeListener);
 		}
 		if (Policy.DEBUG_COMPARE_EDITOR_INPUT) {
 			logTrace("compareInputChangeListener = null"); //$NON-NLS-1$