diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
index 74f4100..c9f252a 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
@@ -44,6 +44,7 @@
 import org.eclipse.update.internal.ui.model.UpdateModel;
 import org.eclipse.update.internal.ui.parts.DefaultContentProvider;
 import org.eclipse.update.internal.ui.parts.OverlayIcon;
+import org.eclipse.update.internal.ui.model.ModelObject;
 
 /**
  * Insert the type's description here.
@@ -85,7 +86,7 @@
 	private static final String KEY_HISTORY_FOLDER = "ConfigurationView.historyFolder";
 	private static final String KEY_SAVED_FOLDER = "ConfigurationView.savedFolder";
 
-	abstract class ViewFolder implements IAdaptable {
+	abstract class ViewFolder extends ModelObject {
 		private String label;
 		private Image image;
 
@@ -94,10 +95,6 @@
 			String imageKey = ISharedImages.IMG_OBJ_FOLDER;
 			image = PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
 		}
-		
-		public Object getAdapter(Class key) {
-			return null;
-		}
 
 		public Image getImage() {
 			return image;
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/DetailsView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/DetailsView.java
index a850a3e..ffe5b12 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/DetailsView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/DetailsView.java
@@ -146,8 +146,11 @@
 }
 
 public void showPageWithInput(String pageId, Object input) {
+	if (!(input instanceof org.eclipse.update.core.model.ModelObject ||
+			input instanceof org.eclipse.update.internal.ui.model.ModelObject)) return;
 	showPage(pageId, input);
-	history.add(pageId, input);
+	if (input!=null)
+		history.add(pageId, input);
    	backAction.update();
    	forwardAction.update();
    	IWorkbenchPage page = UpdateUIPlugin.getActivePage();
