diff --git a/plugins/FeedsUserProcessor.inc b/plugins/FeedsUserProcessor.inc
index d01db43..6ab3f43 100644
--- a/plugins/FeedsUserProcessor.inc
+++ b/plugins/FeedsUserProcessor.inc
@@ -64,6 +64,20 @@ class FeedsUserProcessor extends FeedsProcessor {
       $account->mail = $account->mail . '_test';
     }
 
+    if (!empty($account->roles_list)) {
+      foreach ($account->roles_list as $role_name) {
+        $role_name = trim($role_name);
+        if ((!$role = user_role_load_by_name($role_name)) && $this->config['user_roles_create']) {
+          // 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;
+      }
+    }
+
     $edit = (array) $account;
 
     // Remove pass from $edit if the password is unchanged.
@@ -99,6 +113,7 @@ class FeedsUserProcessor extends FeedsProcessor {
       'roles' => array(),
       'status' => 1,
       'defuse_mail' => FALSE,
+      'user_roles_create' => TRUE,
     ) + parent::configDefaults();
   }
 
@@ -132,6 +147,12 @@ class FeedsUserProcessor extends FeedsProcessor {
       '#description' => t('This appends _test to all imported e-mail addresses to ensure they cannot be used as recipients.'),
       '#default_value' => $this->config['defuse_mail'],
     );
+    $form['user_roles_create'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Create user roles'),
+      '#description' => t('Create new user roles for imported roles that currently do not exist.'),
+      '#default_value' => $this->config['user_roles_create'],
+    );
     return $form;
   }
 
@@ -184,6 +205,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(
