diff --git a/twitter.inc b/twitter.inc
index 3bcd894..1f8033f 100644
--- a/twitter.inc
+++ b/twitter.inc
@@ -69,18 +69,30 @@ function twitter_account_save($twitter_user, $save_auth = FALSE) {
  * Load a Twitter account from {twitter_account}.
  *
  * @param mixed $id
- *   int Twitter User id or string Twitter user screen name.
+ *   Either the Twitter User ID or screen name.
+ * @param boolean $type
+ *   By default the $id is assumed to be a Twitter UID, set to FALSE if $id is a
+ *   screen name.
  *
  * @return
  *   TwitterUser object or NULL.
  */
-function twitter_account_load($id) {
-  $values = db_query('SELECT *
-                      FROM {twitter_account}
-                      WHERE twitter_uid = :id_1
-                      OR screen_name  = :id_2',
-                      array(':id_1' => $id, ':id_2' => $id))
-              ->fetchAssoc();
+function twitter_account_load($id, $is_uid = TRUE) {
+  // The ID is the Twitter UID.
+  if ($is_uid) {
+    $query = db_query('SELECT *
+                       FROM {twitter_account}
+                       WHERE twitter_uid = :twitter_uid',
+                       array(':twitter_uid' => $id));
+  }
+  // Otherwise use the screen name.
+  else {
+    $query = db_query('SELECT *
+                       FROM {twitter_account}
+                       WHERE screen_name = :screen_name',
+                       array(':screen_name' => $id));
+  }
+  $values = $query->fetchAssoc();
   if (!empty($values)) {
     $values['id'] = $values['twitter_uid'];
     $account = new TwitterUser($values);
diff --git a/twitter.pages.inc b/twitter.pages.inc
index 2a68c04..51b20d7 100644
--- a/twitter.pages.inc
+++ b/twitter.pages.inc
@@ -488,7 +488,7 @@ function twitter_non_auth_account_form($form, $form_state) {
  */
 function twitter_non_auth_account_form_validate($form, &$form_state) {
   $screen_name = $form_state['values']['screen_name'];
-  if (twitter_account_load($screen_name)) {
+  if (twitter_account_load($screen_name, FALSE)) {
     form_set_error('screen_name', t('The Twitter account <em>@screen_name</em> has been added already.',
       array('@screen_name' => $screen_name)));
   }
diff --git a/twitter_views_field_handlers.inc b/twitter_views_field_handlers.inc
index 2c12dfd..ba2f160 100644
--- a/twitter_views_field_handlers.inc
+++ b/twitter_views_field_handlers.inc
@@ -143,7 +143,7 @@ class twitter_views_handler_field_formatted_tweet extends views_handler_field {
 
     // Load tweet and author.
     $status = twitter_status_load($values->twitter_id);
-    $author = twitter_account_load($status->screen_name);
+    $author = twitter_account_load($status->screen_name, FALSE);
 
     // Format the timestamp.
     $time_diff = REQUEST_TIME - $values->twitter_created_time;
