diff --git a/com.google.eclipse.terminal.local/src/com/google/eclipse/terminal/local/ui/OpenTerminalCommand.java b/com.google.eclipse.terminal.local/src/com/google/eclipse/terminal/local/ui/OpenTerminalCommand.java
index 7fbfe37..4be9975 100644
--- a/com.google.eclipse.terminal.local/src/com/google/eclipse/terminal/local/ui/OpenTerminalCommand.java
+++ b/com.google.eclipse.terminal.local/src/com/google/eclipse/terminal/local/ui/OpenTerminalCommand.java
@@ -21,8 +21,7 @@
  */
 public class OpenTerminalCommand extends AbstractHandler {
 
-  @Override
-  public Object execute(ExecutionEvent event) {
+  @Override public Object execute(ExecutionEvent event) {
     ISelection selection = HandlerUtil.getCurrentSelection(event);
     IResource target = resourceFrom(selection);
     if (target != null) {
@@ -38,8 +37,7 @@
     if (!(selection instanceof IStructuredSelection)) {
       return null;
     }
-    IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-    Object o = structuredSelection.getFirstElement();
+    Object o = ((IStructuredSelection) selection).getFirstElement();
     if (!(o instanceof IAdaptable)) {
       return null;
     }
diff --git a/com.google.eclipse.tm.terminal/plugin.xml b/com.google.eclipse.tm.terminal/plugin.xml
index 0c8a1d2..b4e5ef0 100644
--- a/com.google.eclipse.tm.terminal/plugin.xml
+++ b/com.google.eclipse.tm.terminal/plugin.xml
@@ -13,7 +13,6 @@
 # Michael Scharf (Wind River) - [237425] undefined tm.terminal command
 -->
 <plugin>
-   <extension-point id="terminalConnectors" name="Terminal Connectors" schema="schema/terminalConnectors.exsd"/>
    <extension point="org.eclipse.ui.contexts">           
       <context
             name="%terminal.context.name"
