diff --git a/plugins/arguments/entity_id.inc b/plugins/arguments/entity_id.inc
index 451d444..7de467e 100644
--- a/plugins/arguments/entity_id.inc
+++ b/plugins/arguments/entity_id.inc
@@ -56,10 +56,6 @@ function ctools_argument_entity_id_context($arg = NULL, $conf = NULL, $empty = F
     return ctools_context_create('entity:' . $entity_type, $arg);
   }
 
-  if (!is_numeric($arg)) {
-    return FALSE;
-  }
-
   $entity = entity_load($entity_type, array($arg));
   if (!$entity) {
     return FALSE;
diff --git a/plugins/contexts/entity.inc b/plugins/contexts/entity.inc
index 3915667..fc1ac49 100644
--- a/plugins/contexts/entity.inc
+++ b/plugins/contexts/entity.inc
@@ -71,16 +71,12 @@ function ctools_context_create_entity($empty, $data = NULL, $conf = FALSE, $plug
     $ids = entity_extract_ids($entity_type, $data);
     $id = $ids[0];
   }
-  elseif (is_numeric($data)) {
+  else {
     $id = $data;
-    $data = entity_load($entity_type, array($id));
-    $data = !empty($data[$id]) ? $data[$id] : FALSE;
   }
 
-  if (is_array($data)) {
-    $data = entity_load($entity_type, array($id));
-    $data = !empty($data[$id]) ? $data[$id] : FALSE;
-  }
+  $data = entity_load($entity_type, array($id));
+  $data = !empty($data[$id]) ? $data[$id] : FALSE;
 
   if (!empty($data)) {
     $context->data     = $data;
@@ -174,15 +170,9 @@ function ctools_context_entity_settings_form_validate($form, &$form_state) {
   if ($match) {
     $id = $preg_matches[1];
   }
-  if (is_numeric($id)) {
-    $entity = entity_load($form_state['values']['entity_type'], array($id));
-    $entity = $entity[$id];
-  }
-  else {
-    $entity_info = entity_get_info($form_state['values']['entity_type']);
-    $field = $entity_info['entity keys']['label'];
-    $entity = entity_load($form_state['values']['entity_type'], FALSE, array($field => $id));
-  }
+
+  $entity = entity_load($form_state['values']['entity_type'], array($id));
+  $entity = $entity[$id];
 
   // Do not allow unpublished nodes to be selected by unprivileged users
   // || (empty($node->status) && !(user_access('administer nodes'))) need a new sanity check at some point.
