diff --git a/plugins/FeedsUserProcessor.inc b/plugins/FeedsUserProcessor.inc
index 6270bcb..2f9670c 100644
--- a/plugins/FeedsUserProcessor.inc
+++ b/plugins/FeedsUserProcessor.inc
@@ -59,6 +59,19 @@ class FeedsUserProcessor extends FeedsProcessor {
     if ($this->config['defuse_mail']) {
       $account->mail = $account->mail . '_test';
     }
+    if ($account->roles_list) { 
+      $roles = explode(',', $account->roles_list);
+      foreach ($roles as $role_name) {
+        $role_name = trim($role_name);
+        if (!$role = user_role_load_by_name($role_name)) {
+          // Create new role if role doesn't exist
+          $role = new stdClass();
+          $role->name = $role_name;
+          user_role_save($role);
+          $role = user_role_load_by_name($role->name);
+        }
+        $account->roles[$role->rid] = $role->name;
+      }
+    }
     user_save($account, (array) $account);
     if ($account->uid && !empty($account->openid)) {
       $authmap = array(
@@ -177,6 +190,10 @@ class FeedsUserProcessor extends FeedsProcessor {
         'name' => t('User language'),
         'description' => t('Default language for the user.'),
       ),
+      'roles_list' => array(
+        'name' => t('User roles'),
+        'description' => t('User roles provided as role names in comma separated list.'),
+      ),
     );
     if (module_exists('openid')) {
       $targets['openid'] = array(
