diff --git includes/rules.core.inc includes/rules.core.inc
index ea7a33a..88d4ced 100644
--- includes/rules.core.inc
+++ includes/rules.core.inc
@@ -461,6 +461,9 @@ abstract class RulesPlugin extends RulesExtendable {
       elseif (!empty($info['handler'])) {
         $state->addVariable($name, NULL, $info);
       }
+      elseif (isset($info['parameter']) && $info['parameter'] == FALSE) {
+        $state->addVariable($name, TRUE, $info);
+      }
       elseif (empty($info['optional']) && $info['type'] != 'hidden') {
         throw new RulesException('Argument %name is missing.', array('%name' => $name), $this);
       }
diff --git ui/ui.core.inc ui/ui.core.inc
index b8fd043..e6afffb 100644
--- ui/ui.core.inc
+++ ui/ui.core.inc
@@ -417,8 +417,10 @@ class RulesPluginUI extends FacesExtender implements RulesPluginUIInterface {
       );
       $weight = 0;
       foreach ($this->element->componentVariables() as $name => $var_info) {
-        $form['settings']['vars']['items'][$name] = RulesPluginUI::getVariableForm($name, $var_info);
-        $form['settings']['vars']['items'][$name]['weight']['#default_value'] = $weight++;
+        if (!(isset($var_info['parameter']) && $var_info['parameter'] == FALSE)) {
+          $form['settings']['vars']['items'][$name] = RulesPluginUI::getVariableForm($name, $var_info);
+          $form['settings']['vars']['items'][$name]['weight']['#default_value'] = $weight++;
+        }
       }
       // Always add three empty forms.
       for ($i = 0; $i < 3; $i++) {
