diff --git a/includes/entity.inc b/includes/entity.inc
index aaa39d871eb8ea4d8975cb90b051144495979329..9ee7889cfb7ca439e77cfdb44282b68e19584a0a 100644
--- a/includes/entity.inc
+++ b/includes/entity.inc
@@ -651,7 +651,11 @@ public function entityCondition($name, $value, $operator = NULL) {
    */
   public function fieldCondition($field, $column = NULL, $value = NULL, $operator = NULL, $delta_group = NULL, $language_group = NULL) {
     if (is_scalar($field)) {
-      $field = field_info_field($field);
+      $field_definition = field_info_field($field);
+      if (empty($field_definition)) {
+        throw new EntityFieldQueryException(t('Unknown field: @field_name', array('@field_name' => $field)));
+      }
+      $field = $field_definition;
     }
     // Ensure the same index is used for fieldConditions as for fields.
     $index = count($this->fields);
@@ -753,7 +757,11 @@ public function entityOrderBy($name, $direction = 'ASC') {
    */
   public function fieldOrderBy($field, $column, $direction = 'ASC') {
     if (is_scalar($field)) {
-      $field = field_info_field($field);
+      $field_definition = field_info_field($field);
+      if (empty($field_definition)) {
+        throw new EntityFieldQueryException(t('Unknown field: @field_name', array('@field_name' => $field)));
+      }
+      $field = $field_definition;
     }
     // Save the index used for the new field, for later use in field storage.
     $index = count($this->fields);