diff --git a/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
index 24e1212..3280901 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.e4.tools.emf.ui;singleton:=true
-Bundle-Version: 4.6.900.qualifier
+Bundle-Version: 4.6.1000.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/pom.xml b/bundles/org.eclipse.e4.tools.emf.ui/pom.xml
index 9df33dc..6fc8287 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/pom.xml
+++ b/bundles/org.eclipse.e4.tools.emf.ui/pom.xml
@@ -21,7 +21,7 @@
 
   <groupId>eclipse.platform.ui.tools</groupId>
   <artifactId>org.eclipse.e4.tools.emf.ui</artifactId>
-  <version>4.6.900-SNAPSHOT</version>
+  <version>4.6.1000-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/CommandEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/CommandEditor.java
index 4ebeda8..caf06d1 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/CommandEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/CommandEditor.java
@@ -245,7 +245,7 @@
 		if (cmd.getCommandName() != null && cmd.getCommandName().trim().length() > 0) {
 			return translate(cmd.getCommandName());
 		}
-		return null;
+		return cmd.getElementId();
 	}
 
 	@Override
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java
index b630ff5..5b83a4b 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java
@@ -16,6 +16,8 @@
  ******************************************************************************/
 package org.eclipse.e4.tools.emf.ui.internal.common.component;
 
+import java.text.MessageFormat;
+
 import javax.inject.Inject;
 
 import org.eclipse.core.databinding.UpdateValueStrategy;
@@ -222,10 +224,11 @@
 	public String getDetailLabel(Object element) {
 		final MHandler handler = (MHandler) element;
 		if (handler.getCommand() != null && handler.getCommand().getCommandName() != null && handler.getCommand().getCommandName().trim().length() > 0) {
-			return handler.getCommand().getCommandName();
+			return MessageFormat.format("{0} -> {1}", handler.getElementId(), //$NON-NLS-1$
+					translate(handler.getCommand().getCommandName()));
 		}
-
-		return null;
+		return MessageFormat.format("{0} -> {1}", handler.getElementId(), //$NON-NLS-1$
+				(handler.getCommand() != null ? handler.getCommand().getElementId() : handler.getCommand()));
 	}
 
 	@Override
