diff --git a/plugins/org.eclipse.dltk.sh.doc/userguide/Getting-Started.html b/plugins/org.eclipse.dltk.sh.doc/userguide/Getting-Started.html
index e84bb97..793c0f8 100644
--- a/plugins/org.eclipse.dltk.sh.doc/userguide/Getting-Started.html
+++ b/plugins/org.eclipse.dltk.sh.doc/userguide/Getting-Started.html
@@ -70,8 +70,8 @@
 		</p>
 		<h2 id="ExistingProjects">Existing Projects</h2>
 		<p>You probably have shell scripts in other projects that you want to run and debug. In this case, you can add shell script support to existing, non-shell script projects by right-clicking them and choosing the 
-			<b>ShellEd</b> -&gt; 
-			<b>Add Shell Script Support</b> menu item.
+			<b>Configure</b> -&gt; 
+			<b>Convert to Shell Script Project..</b> menu item.
 		</p>
 		<p>
 			<img border="0" src="Add-Support-Screenshot.png"/>
@@ -101,4 +101,4 @@
 			</tr>
 		</table>
 	</body>
-</html>
\ No newline at end of file
+</html>
diff --git a/plugins/org.eclipse.dltk.sh.ui/plugin.xml b/plugins/org.eclipse.dltk.sh.ui/plugin.xml
index 55e6f44..875e7c8 100644
--- a/plugins/org.eclipse.dltk.sh.ui/plugin.xml
+++ b/plugins/org.eclipse.dltk.sh.ui/plugin.xml
@@ -235,79 +235,58 @@
             id="org.eclipse.dltk.ui.shellEditorScope">
       </context>
   </extension>
-<extension
+  <extension
       point="org.eclipse.ui.menus">
    <menuContribution
-         locationURI="popup:org.eclipse.ui.popup.any?after=additions">
-      <menu
-            label="ShellEd">
-         <command
-               commandId="org.eclipse.dltk.sh.ui.addnature"
-               style="push">
-            <visibleWhen
-                  checkEnabled="false">
+         allPopups="true"
+         locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
+     <command
+           commandId="org.eclipse.dltk.sh.ui.addnature"
+           style="push">
+        <visibleWhen
+              checkEnabled="false">
+             <and>
                <with
-                     variable="selection">
-                  <iterate
-                        ifEmpty="false"
-                        operator="or">
-                     <not>
-                        <test
-                              property="org.eclipse.dltk.sh.ui.naturetester.hasShellEdNature">
-                        </test>
-                     </not>
-                  </iterate>
-               </with>
-            </visibleWhen>
-         </command>
-         <command
-               commandId="org.eclipse.dltk.sh.ui.removenature"
-               style="push">
-            <visibleWhen
-                  checkEnabled="false">
-               <with
-                     variable="selection">
-                  <iterate
-                        ifEmpty="false"
-                        operator="or">
-                     <test
-                           property="org.eclipse.dltk.sh.ui.naturetester.hasShellEdNature">
-                     </test>
-                  </iterate>
-               </with>
-            </visibleWhen>
-         </command>
-         <visibleWhen
-               checkEnabled="false">
-            <with
-                  variable="selection">
-               <iterate
-                     ifEmpty="false"
-                     operator="and">
-                  <or>
-                     <adapt
-                           type="org.eclipse.core.resources.IProject">
-                     </adapt>
-                     <adapt
-                           type="org.eclipse.dltk.core.IScriptProject">
-                     </adapt>
-                  </or>
-               </iterate>
-            </with>
-         </visibleWhen>
-      </menu>
+                   variable="selection">
+                <iterate
+                      ifEmpty="false"
+                      operator="and">
+                    <adapt
+                      type="org.eclipse.core.resources.IProject">
+                      <not>
+                        <or>
+                          <test property="org.eclipse.dltk.hasScriptNature" />
+                          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.sh.core.nature" />
+                        </or>
+                      </not>
+                    </adapt>
+                </iterate>
+             </with>
+           </and>
+        </visibleWhen>
+     </command>
+     <command
+           commandId="org.eclipse.dltk.sh.ui.removenature"
+           style="push">
+        <visibleWhen
+              checkEnabled="false">
+              <and>
+             <with
+                   variable="selection">
+                <iterate
+                      ifEmpty="false"
+                      operator="and">
+                    <adapt
+                      type="org.eclipse.core.resources.IProject">
+                      <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.sh.core.nature" />
+                    </adapt>
+                </iterate>
+             </with>
+           </and>
+        </visibleWhen>
+     </command>
    </menuContribution>
 </extension>
-<extension
-      point="org.eclipse.core.expressions.propertyTesters">
-   <propertyTester
-         class="org.eclipse.dltk.sh.internal.ui.commands.NaturePropertyTester"
-         id="org.eclipse.dltk.sh.ui.naturetester"
-         namespace="org.eclipse.dltk.sh.ui.naturetester"
-         properties="hasShellEdNature"
-         type="org.eclipse.core.runtime.IAdaptable">
-   </propertyTester>
-</extension>
 
 <extension point="org.eclipse.dltk.ui.folding">
   <structureProvider
diff --git a/plugins/org.eclipse.dltk.sh.ui/src/org/eclipse/dltk/sh/internal/ui/commands/NaturePropertyTester.java b/plugins/org.eclipse.dltk.sh.ui/src/org/eclipse/dltk/sh/internal/ui/commands/NaturePropertyTester.java
deleted file mode 100644
index 542cc5b..0000000
--- a/plugins/org.eclipse.dltk.sh.ui/src/org/eclipse/dltk/sh/internal/ui/commands/NaturePropertyTester.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2016 Mat Booth and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.dltk.sh.internal.ui.commands;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.dltk.sh.core.ShelledNature;
-
-/**
- * A property tester that returns true if the project containing any given
- * resource is a ShellEd-natured project.
- */
-public class NaturePropertyTester extends PropertyTester {
-
-	// Properties made available for test by this tester
-	private static final String HAS_SHELLED_NATURE = "hasShellEdNature"; //$NON-NLS-1$
-
-	@Override
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		IResource resource = ((IAdaptable) receiver).getAdapter(IResource.class);
-		if (resource == null) {
-			return false;
-		}
-		if (property.equals(HAS_SHELLED_NATURE)) {
-			try {
-				IProject proj = resource.getProject();
-				return proj.isAccessible() && proj.hasNature(ShelledNature.SHELLED_NATURE);
-			} catch (CoreException e) {
-				return false;
-			}
-		}
-		return false;
-	}
-}
