diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/TeamAction.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/TeamAction.java
index b7e6d15..6653f89 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/TeamAction.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/TeamAction.java
@@ -100,7 +100,11 @@
 
 		@Override
 		public void partClosed(IWorkbenchPartReference partRef) {
-			if (targetPart == partRef.getPart(false)) {
+			if(targetPart == null) {
+				return;
+			}
+			IWorkbenchPart part = partRef.getPart(false);
+			if (targetPart == part) {
 				targetPart = null;
 			}
 		}
@@ -425,8 +429,17 @@
 	 * @return IWorkbenchPage
 	 */
 	protected IWorkbenchPage getTargetPage() {
-		if (getTargetPart() == null) return TeamUIPlugin.getActivePage();
-		return getTargetPart().getSite().getPage();
+		IWorkbenchPart target = getTargetPart();
+		if (target == null) {
+			return TeamUIPlugin.getActivePage();
+		}
+		IWorkbenchPage page = target.getSite().getPage();
+		if(page == null) {
+			// part was disposed => null targetPart to avoid memory leak
+			targetPart = null;
+			return TeamUIPlugin.getActivePage();
+		}
+		return page;
 	}
 
 	/**
@@ -466,7 +479,6 @@
 
 	@Override
 	public void dispose() {
-		super.dispose();
 		if(window != null) {
 			window.getSelectionService().removePostSelectionListener(selectionListener);
 			if (window.getActivePage() != null) {
@@ -479,6 +491,7 @@
 		window = null;
 		targetPart = null;
 		shell = null;
+		super.dispose();
 	}
 
 	/**
