diff --git a/views/views_bulk_operations.views_default.inc b/views/views_bulk_operations.views_default.inc
index 91ff0f5..e7c8b10 100644
--- a/views/views_bulk_operations.views_default.inc
+++ b/views/views_bulk_operations.views_default.inc
@@ -130,6 +130,7 @@ function views_bulk_operations_views_default_views() {
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['skip_confirmation'] = 0;
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['display_result'] = 1;
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['merge_single_action'] = 1;
+  $handler->display->display_options['fields']['views_bulk_operations']['vbo']['force_single'] = 0;
   /* Field: Content: Title */
   $handler->display->display_options['fields']['title']['id'] = 'title';
   $handler->display->display_options['fields']['title']['table'] = 'node';
@@ -447,6 +448,7 @@ function views_bulk_operations_views_default_views() {
   );
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['execution_type'] = '1';
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['display_type'] = '0';
+  $handler->display->display_options['fields']['views_bulk_operations']['vbo']['force_single'] = '0';
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['skip_confirmation'] = 0;
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['display_result'] = 1;
   $handler->display->display_options['fields']['views_bulk_operations']['vbo']['merge_single_action'] = 1;
diff --git a/views/views_bulk_operations_handler_field_operations.inc b/views/views_bulk_operations_handler_field_operations.inc
index b378ac5..12cc1a1 100644
--- a/views/views_bulk_operations_handler_field_operations.inc
+++ b/views/views_bulk_operations_handler_field_operations.inc
@@ -21,6 +21,7 @@ class views_bulk_operations_handler_field_operations extends views_handler_field
         'skip_confirmation' => array('default' => FALSE),
         'display_result' => array('default' => TRUE),
         'merge_single_action' => array('default' => TRUE),
+        'force_single' => array('default' => FALSE),
       ),
     );
 
@@ -66,6 +67,12 @@ class views_bulk_operations_handler_field_operations extends views_handler_field
         t('Each action as a separate button'),
       ),
     );
+    $form['vbo']['force_single'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Force single'),
+      '#default_value' => $this->options['vbo']['force_single'],
+      '#description' => t('Check this box to restrict selection to a single value.'),
+    );
     $form['vbo']['skip_confirmation'] = array(
       '#type' => 'checkbox',
       '#title' => t('Skip confirmation step'),
@@ -149,7 +156,7 @@ class views_bulk_operations_handler_field_operations extends views_handler_field
    * placeholder for a "select all" checkbox.
    */
   function label() {
-    if (is_a($this->view->style_plugin, 'views_plugin_style_table')) {
+    if (is_a($this->view->style_plugin, 'views_plugin_style_table') && empty($this->options['vbo']['force_single'])) {
       return '<!--views-bulk-operations-select-all-->';
     }
     else {
@@ -195,12 +202,20 @@ class views_bulk_operations_handler_field_operations extends views_handler_field
       else {
         $default_value = FALSE;
       }
-
-      $form[$this->options['id']][$row_id] = array(
-        '#type' => 'checkbox',
-        '#return_value' => $entity_id,
-        '#default_value' => $default_value,
-      );
+      if ($this->options['vbo']['force_single']) {
+        $form[$this->options['id']][$row_id] = array(
+          '#type' => 'radio',
+          '#parents' => array($this->options['id']),
+          '#return_value' => $entity_id,
+        );
+      }
+      else {
+        $form[$this->options['id']][$row_id] = array(
+          '#type' => 'checkbox',
+          '#return_value' => $entity_id,
+          '#default_value' => $default_value,
+        );
+      }
     }
   }
 
diff --git a/views_bulk_operations.module b/views_bulk_operations.module
index 07e5f78..29a8035 100644
--- a/views_bulk_operations.module
+++ b/views_bulk_operations.module
@@ -312,7 +312,8 @@ function views_bulk_operations_form($form, &$form_state, $vbo) {
   // Adds the "select all" functionality if the view has results.
   // If the view is using a table style plugin, the markup gets moved to
   // a table row below the header.
-  if (!empty($vbo->view->result)) {
+  // If we are using radio buttons, we don't use select all at all.
+  if (!empty($vbo->view->result) && empty($vbo->options['vbo']['force_single'])) {
     $form['select_all_markup'] = array(
       '#type' => 'markup',
       '#markup' => theme('views_bulk_operations_select_all', array('view' => $vbo->view)),
@@ -379,7 +380,13 @@ function _views_bulk_operations_get_selection($vbo, $form_state) {
   $field_name = $vbo->options['id'];
 
   if (!empty($form_state['values'][$field_name])) {
-    $selected_rows = array_filter($form_state['values'][$field_name]);
+    // If using "force single", the selection needs to be converted to an array.
+    if (is_array($form_state['values'][$field_name])) {
+      $selected_rows = array_filter($form_state['values'][$field_name]);
+    }
+    else {
+      $selected_rows = array($form_state['values'][$field_name]);
+    }
     // At this point, $selected_rows is an array of $row_number => $entity_id.
     // We need the $entity_id to be the key, so the array gets flipped.
     $selection = array_flip($selected_rows);
@@ -418,7 +425,12 @@ function views_bulk_operations_form_validate($form, &$form_state) {
       $field_name = $vbo->options['id'];
       $selection = _views_bulk_operations_get_selection($vbo, $form_state);
       if (!$selection) {
-        form_set_error($field_name, t('No row selected. Please select one or more rows.'));
+        form_set_error($field_name, t('Please select at least one item.'));
+      }
+
+      // if using force single, make sure only one value was submitted.
+      if (!empty($vbo->options['vbo']['force_single']) && count($selection) > 1) {
+        form_set_error($field_name, t('You may only select one item.'));
       }
 
       $_SESSION['vbo_values'][$_GET['q']] = array(
