diff --git rules/modules/data.eval.inc rules/modules/data.eval.inc
index 521b9ca..27d5107 100644
--- rules/modules/data.eval.inc
+++ rules/modules/data.eval.inc
@@ -237,20 +237,22 @@ function rules_action_data_create($args, $element) {
  * Info alteration callback for data create action.
  */
 function rules_action_data_create_info_alter(&$element_info, RulesAbstractPlugin $element) {
-  $type = $element->settings['type'];
-  $cache = rules_get_cache();
-  $type_info = $cache['data_info'][$type];
-  if (isset($type_info['property info'])) {
-    // Add the data type's properties as parameters.
-    foreach ($type_info['property info'] as $property => $property_info) {
-      // Prefix parameter names to avoid name clashes with existing parameters.
-      $element_info['parameter']['param_' . $property] = array_intersect_key($property_info, array_flip(array('type', 'label')));
-      if (empty($property_info['required'])) {
-        $element_info['parameter']['param_' . $property]['optional'] = TRUE;
+  if (!empty($element->settings['type'])) {
+    $type = $element->settings['type'];
+    $cache = rules_get_cache();
+    $type_info = $cache['data_info'][$type];
+    if (isset($type_info['property info'])) {
+      // Add the data type's properties as parameters.
+      foreach ($type_info['property info'] as $property => $property_info) {
+        // Prefix parameter names to avoid name clashes with existing parameters.
+        $element_info['parameter']['param_' . $property] = array_intersect_key($property_info, array_flip(array('type', 'label')));
+        if (empty($property_info['required'])) {
+          $element_info['parameter']['param_' . $property]['optional'] = TRUE;
+        }
       }
     }
+    $element_info['provides']['data_created']['type'] = $type;
   }
-  $element_info['provides']['data_created']['type'] = $type;
 }
 
 /**
