diff --git a/remote_entity.module b/remote_entity.module
index 5e2650c..f9b9772 100644
--- a/remote_entity.module
+++ b/remote_entity.module
@@ -482,3 +482,42 @@ function remote_entity_views_api() {
     'path' => drupal_get_path('module', 'remote_entity') . '/includes/views',
   );
 }
+
+/**
+ * Implements hook_rules_action_info_alter().
+ *
+ * Inject our own info_alter callback for the entity_fetch action to be able to
+ * set the data-type of the identifier argument to text.
+ *
+ * @see remote_entity_rules_action_entity_fetch_info_alter()
+ */
+function entity_rules_rules_action_info_alter(&$actions) {
+  if (isset($actions['entity_fetch'])) {
+    // Create backup of a pre-existing callback and re-use it in our function.
+    if (isset($actions['entity_fetch']['callbacks']['info_alter'])) {
+      $actions['entity_fetch']['_remote_entity_backup_info_alter'] = $actions['entity_fetch']['callbacks']['info_alter'];
+    }
+    $actions['entity_fetch']['callbacks']['info_alter'] = 'remote_entity_rules_action_entity_fetch_info_alter';
+  }
+}
+
+/**
+ * Info alteration callback for the rules entity fetch action.
+ *
+ * Adjust the identifier parameter of the rules action entity_fetch to accept
+ * text as input. That way non numerical remote ids can be used.
+ */
+function remote_entity_rules_action_entity_fetch_info_alter(&$element_info, RulesAbstractPlugin $element) {
+  // Check if there's a backed up callback, if not use the default callback.
+  $callback = (!empty($actions['entity_fetch']['_remote_entity_backup_info_alter'])) ? $actions['entity_fetch']['_remote_entity_backup_info_alter'] : 'rules_action_entity_fetch_info_alter';
+  module_load_include('inc', 'rules', "modules/entity.eval");
+  $arguments = array($element_info, $element);
+  call_user_func_array($callback, $arguments);
+
+  $element->settings += array('type' => NULL);
+  $info = entity_get_info($element->settings['type']);
+  // Adjust the type of the identifier if this is a remote entity type.
+  if (isset($info['remote base table']) && isset($info['entity keys']['needs remote save'])) {
+    $element_info['parameter']['id']['type'] = 'text';
+  }
+}
\ No newline at end of file
