diff --git a/plugins/FeedsNodeProcessor.inc b/plugins/FeedsNodeProcessor.inc
index 25dac27..4d18971 100644
--- a/plugins/FeedsNodeProcessor.inc
+++ b/plugins/FeedsNodeProcessor.inc
@@ -205,6 +205,17 @@ class FeedsNodeProcessor extends FeedsProcessor {
           $target_node->feeds['suppress_import'] = TRUE;
         }
         break;
+      case 'uid':
+        if ($value && !is_numeric($value)) {
+          // If the uid isn't numeric lets assume its an username.
+          if ($loaded_user = user_load_by_name(check_plain($value))) {
+            $target_node->uid = $loaded_user->uid;
+          } else {
+            // Load the default author.
+            $target_node->uid = $this->config['author'];
+          }
+        }
+        break;
       default:
         parent::setTargetElement($source, $target_node, $target_element, $value);
         break;
@@ -230,8 +241,8 @@ class FeedsNodeProcessor extends FeedsProcessor {
         'optional_unique' => TRUE,
       ),
       'uid' => array(
-        'name' => t('User ID'),
-        'description' => t('The Drupal user ID of the node author.'),
+        'name' => t('User ID or username'),
+        'description' => t('The Drupal user ID or username of the node author.'),
       ),
       'status' => array(
         'name' => t('Published status'),
