diff --git a/revisioning.rules.inc b/revisioning.rules.inc
index 82409ba..97841e0 100644
--- a/revisioning.rules.inc
+++ b/revisioning.rules.inc
@@ -12,24 +12,37 @@
  * Implements hook_rules_condition_info().
  */
 function revisioning_rules_condition_info() {
-  return array(
-    'revisioning_node_has_pending' => array(
-      'label' => t('Content has pending revision'),
-      'arguments' => array(
-        'node' => array('type' => 'node', 'label' => t('Content'))
-      ),
-      'help' => t('Evaluates to TRUE, if the node has one or more pending revisions'),
-      'module' => 'revisioning',
-    ),
-    'revisioning_condition_revision_is' => array(
-      'label' => t('Content revision is'),
-      'arguments' => array(
-        'node' => array('type' => 'node', 'label' => t('Content'))
-      ),
-      'help' => t('Evaluates to TRUE, if revision is one of selected types'),
-      'module' => 'revisioning',
+  $defaults = array(
+    'parameter' => array(
+      'node' => array('type' => 'node', 'label' => t('Content')),
     ),
+    'group' => t('Revisioning'),
+  );
+  $items['revisioning_node_has_pending'] = $defaults + array(
+    'label' => t('Content has pending revision'),
+    'help' => t('Evaluates to TRUE, if the node has one or more pending revisions'),
+    'module' => 'revisioning',
+  );
+  $items['revisioning_condition_revision_is'] = $defaults + array(
+    'label' => t('Content revision is'),
+    'help' => t('Evaluates to TRUE, if revision is one of selected types'),
+    'module' => 'revisioning',
+    'base' => 'revisioning_condition_revision_is'
   );
+  $items['revisioning_condition_revision_is']['parameter']['revision_type'] = array(
+    'type' => 'list<text>',
+    'label' => t('Is one of'),
+    'options list' => 'revisioning_revision_states_all',
+    'description' => t('The content type(s) to check for.'),
+  );
+  return $items;
+}
+
+/**
+ * Wrapper function to always return all revisioning states
+ */
+function revisioning_revision_states_all() {
+  return revisioning_revision_states();
 }
 
 /*
@@ -47,20 +60,6 @@ function revisioning_condition_revision_is($node, $settings) {
   return in_array($type, $settings['revision_type']);
 }
 
-/*
- *  Check for content types - configuration form.
- */
-function revisioning_condition_revision_is_form($settings = array(), &$form) {
-  $form['settings']['revision_type'] = array(
-    '#type' => 'select',
-    '#title' => t('Is one of'),
-    '#options' => revisioning_revision_states(),
-    '#multiple' => TRUE,
-    '#default_value' => isset($settings['revision_type']) ? $settings['revision_type'] : array(),
-    '#required' => TRUE,
-  );
-}
-
 /**
  * Label callback for "revisioning_revision_is" condition.
  */
