diff --git a/sigil/eclipse/ui/plugin.xml b/sigil/eclipse/ui/plugin.xml
index f35161a..238460c 100644
--- a/sigil/eclipse/ui/plugin.xml
+++ b/sigil/eclipse/ui/plugin.xml
@@ -337,4 +337,14 @@
        </enablement>
      </moveParticipant>
    </extension>  
+   
+   <!--extension point="org.eclipse.ltk.ui.refactoring.changePreviewViewers">
+      <changePreviewViewer
+            class="org.apache.felix.sigil.eclipse.ui.internal.refactor.ExportChangePreviewViewer"
+            id="org.apache.felix.sigil.eclipse.ui.refactor.exportChangePreviewViewer">
+         <enablement>
+            <instanceof value="org.apache.felix.sigil.eclipse.ui.internal.refactor.ExportPackageChange"/>
+         </enablement>
+      </changePreviewViewer>
+   </extension-->
 </plugin>
diff --git a/sigil/eclipse/ui/sigil.properties b/sigil/eclipse/ui/sigil.properties
index a3e57e9..7b7828a 100644
--- a/sigil/eclipse/ui/sigil.properties
+++ b/sigil/eclipse/ui/sigil.properties
@@ -39,7 +39,7 @@
 	org.apache.felix.sigil.eclipse.model.repository, \
 	org.apache.felix.sigil.eclipse.model.util, \
 	org.apache.felix.sigil.eclipse.preferences, \
-	org.apache.felix.sigil.eclipse.repository;version=0.9.0, \
+	org.apache.felix.sigil.eclipse.repository, \
 	org.apache.felix.sigil.eclipse.ui, \
 	org.apache.felix.sigil.eclipse.ui.actions, \
 	org.apache.felix.sigil.eclipse.ui.util, \
@@ -79,6 +79,7 @@
 	org.eclipse.jface.wizard, \
 	org.eclipse.ltk.core.refactoring, \
 	org.eclipse.ltk.core.refactoring.participants, \
+	org.eclipse.ltk.ui.refactoring, \
 	org.eclipse.ui.editors.text, \
 	org.eclipse.ui.forms, \
 	org.eclipse.ui.forms.editor, \
diff --git a/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportChangePreviewViewer.java b/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportChangePreviewViewer.java
new file mode 100644
index 0000000..0e6fd77
--- /dev/null
+++ b/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportChangePreviewViewer.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.felix.sigil.eclipse.ui.internal.refactor;
+
+import org.eclipse.ltk.ui.refactoring.ChangePreviewViewerInput;
+import org.eclipse.ltk.ui.refactoring.IChangePreviewViewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * @author dave
+ *
+ */
+public class ExportChangePreviewViewer implements IChangePreviewViewer
+{
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ltk.ui.refactoring.IChangePreviewViewer#createControl(org.eclipse.swt.widgets.Composite)
+     */
+    public void createControl(Composite arg0)
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ltk.ui.refactoring.IChangePreviewViewer#getControl()
+     */
+    public Control getControl()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ltk.ui.refactoring.IChangePreviewViewer#setInput(org.eclipse.ltk.ui.refactoring.ChangePreviewViewerInput)
+     */
+    public void setInput(ChangePreviewViewerInput input)
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+}
