diff --git a/semantic_cck.module b/semantic_cck.module
index 6a612de..a668f22 100644
--- a/semantic_cck.module
+++ b/semantic_cck.module
@@ -372,6 +372,8 @@ function semantic_cck_preprocess_content_field(&$variables) {
     $settings = $field['semantic_cck_field_settings'];
   }
 
+  $use_singlevalue_settings = !empty($settings['use_singlevalue_settings']);
+
   // Provide semantic CCK field template suggestions
   $variables['template_files'][] = 'semantic-content-field';
   $variables['template_files'][] = 'semantic-content-field-' . $element['#field_name'];
@@ -379,9 +381,9 @@ function semantic_cck_preprocess_content_field(&$variables) {
   $variables['template_files'][] = 'semantic-content-field-' . $element['#field_name'] .'-' . $element['#node']->type;
 
   // Field
-  $variables['field_element'] = $settings['field_element'];
-  $variables['field_prefix'] = $settings['field_prefix'];
-  $variables['field_suffix'] = $settings['field_suffix'];
+  $variables['field_element'] = isset($settings['field_element']) ? $settings['field_element'] : '';
+  $variables['field_prefix'] = isset($settings['field_prefix']) ? $settings['field_prefix'] : '';
+  $variables['field_suffix'] = isset($settings['field_suffix']) ? $settings['field_suffix'] : '';
   $field_classes = array(
     'field',
     'field-type-' . $variables['field_type_css'],
@@ -408,11 +410,11 @@ function semantic_cck_preprocess_content_field(&$variables) {
       'class' => implode(' ', $label_classes),
     );
   }
-  
+
   // Items
   if ($num_items == 1) {
-    if (!$settings['use_singlevalue_settings']) {
-      $variables['items_element'] = $settings['multiple_items_element'];
+    if ($use_singlevalue_settings) {
+      $variables['items_element'] = isset($settings['multiple_items_element']) ? $settings['multiple_items_element'] : '';
     }
     else {
       $variables['items_element'] = '';
@@ -420,21 +422,21 @@ function semantic_cck_preprocess_content_field(&$variables) {
     $variables['items_attributes'] = array();
   }
   else {
-    $variables['items_element'] = $settings['multiple_items_element'];
-    $items_classes = array('field-items', $settings['multiple_items_class']);
+    $variables['items_element'] = isset($settings['multiple_items_element']) ? $settings['multiple_items_element'] : '';
+    $items_classes = isset($settings['multiple_items_class']) ? array('field-items', $settings['multiple_items_class']) : array();
     $variables['items_attributes'] = array(
       'class' => trim(implode(' ', $items_classes)),
     );
   }
 
   // Item
-  if ($num_items == 1 && $settings['use_singlevalue_settings']) {
-    $variables['item_element'] = $settings['single_item_element'];
+  if ($num_items == 1 && $use_singlevalue_settings) {
+    $variables['item_element'] = isset($settings['single_item_element']) ? $settings['single_item_element'] : '';
     $variables['item_separator'] = '';
   }
   else {
-    $variables['item_element'] = $settings['multiple_item_element'];
-    $variables['item_separator'] = ($num_items > 1 ? $settings['multiple_item_separator'] : '');
+    $variables['item_element'] = isset($settings['multiple_item_element']) ? $settings['multiple_item_element'] : '';
+    $variables['item_separator'] = (isset($settings['multiple_item_separator']) && $num_items > 1) ? $settings['multiple_item_separator'] : '';
   }
 
   $last_every_nth = !empty($settings['last_every_nth']) ? $settings['last_every_nth'] : 0;
@@ -444,32 +446,30 @@ function semantic_cck_preprocess_content_field(&$variables) {
 
     $item_classes = array('field-item');
     if ($num_items == 1) {
-      if ($settings['use_singlevalue_settings'] && $settings['single_item_class']) {
+      if ($use_singlevalue_settings && !empty($settings['single_item_class'])) {
         $item_classes[] = $settings['single_item_class'];
       }
-      elseif (!$settings['use_singlevalue_settings'] && $settings['multiple_item_class']) {
+      elseif (!$use_singlevalue_settings && !empty($settings['multiple_item_class'])) {
         $item_classes[] = $settings['multiple_item_class'];
       }
     }
-    elseif ($num_items > 1) {
-      if ($settings['multiple_item_class']) {
-        $item_classes[] = $settings['multiple_item_class'];
-      }
+    elseif ($num_items > 1 && !empty($settings['multiple_item_class'])) {
+      $item_classes[] = $settings['multiple_item_class'];
     }
 
     // Striping
     $striping_classes = array();
-    if (trim($settings['striping_classes'])) {
+    if (!empty($settings['striping_classes']) && trim($settings['striping_classes'])) {
       $striping_classes = explode(' ', trim($settings['striping_classes']));
       $item_classes[] = $striping_classes[$delta % count($striping_classes)];
     }
 
-    if ($settings['first_class']) {
+    if (!empty($settings['first_class'])) {
       if (($last_every_nth && $delta % $last_every_nth == 0) || (!$last_every_nth && $delta == 0)) {
         $item_classes[] = $settings['first_class'];
       }
     }
-    if ($settings['last_class']) {
+    if (!empty($settings['last_class'])) {
       if (($last_every_nth && ($delta + 1) % $last_every_nth == 0) || (!$last_every_nth && ($delta + 1) == $num_items)) {
         $item_classes[] = $settings['last_class'];
       }
@@ -486,4 +486,4 @@ function semantic_cck_features_export_alter(&$export, $module_name) {
   if (isset($export['features']['content'])) {
     $export['dependencies']['semantic_cck'] = 'semantic_cck';
   }
-}
\ No newline at end of file
+}
