diff --git a/modules/uc_recurring_product/uc_recurring_product.module b/modules/uc_recurring_product/uc_recurring_product.module
index 392fc02..2304e93 100644
--- a/modules/uc_recurring_product/uc_recurring_product.module
+++ b/modules/uc_recurring_product/uc_recurring_product.module
@@ -33,6 +33,9 @@ function uc_recurring_product_feature_form($form, &$form_state, $node, $feature)
   if (!empty($feature)) {
     $product = uc_recurring_product_fee_load($feature['pfid']);
   }
+  else {
+    $product = new StdClass();
+  }
   $options = uc_product_get_models($node);
   $form['nid'] = array(
     '#type' => 'hidden',
@@ -54,7 +57,7 @@ function uc_recurring_product_feature_form($form, &$form_state, $node, $feature)
   );
 
   $attributes = array();
-  if ($product->fee_amount == 0) {
+  if (isset($product->fee_amount) && $product->fee_amount == 0) {
     $attributes['checked'] = 'checked';
   }
   $form['fee']['fee_same_product'] = array(
@@ -71,11 +74,11 @@ function uc_recurring_product_feature_form($form, &$form_state, $node, $feature)
     '#type' => 'textfield',
     '#title' => t('Recurring fee amount'),
     '#description' => t('Charge this amount each billing period.<br />The product price is still charged at checkout.'),
-    '#default_value' => $product->fee_amount == 0 ? $node->sell_price : $product->fee_amount,
+    '#default_value' => empty($product->fee_amount) ? $node->sell_price : $product->fee_amount,
     '#size' => 16,
     '#field_prefix' => variable_get('uc_sign_after_amount', FALSE) ? '' : variable_get('uc_currency_sign', '$'),
     '#field_suffix' => variable_get('uc_sign_after_amount', FALSE) ? variable_get('uc_currency_sign', '$') : '',
-    '#attributes' => $product->fee_amount == 0 ? array('disabled' => 'disabled') : array(),
+    '#attributes' => (isset($product->fee_amount) && $product->fee_amount == 0) ? array('disabled' => 'disabled') : array(),
   );
 
   $form['interval'] = array(
