diff --git a/tabbed_block.module b/tabbed_block.module
index 66a117d..f3bbeb7 100644
--- a/tabbed_block.module
+++ b/tabbed_block.module
@@ -111,23 +111,30 @@ function tabbed_block_block( $op="list" , $module_delta=0 ) {
         //tab headers
         //catch potential empty block, redirect user to overide title
         if ( $temp->subject ) {
-          $tab_subject .= "<li><a href='#' id='fragment". $module_delta ."-". $i ."'>". $temp->subject ."</a></li>";
-          //tabe content
-          if ( $temp->content ) {
-            $tab_content .= "<div id='content-fragment". $module_delta ."-". $i ."'>". $temp->content ."</div>";
-          }
-          else{
-            $tab_content .= "<div id='content-fragment". $module_delta ."-". $i ."'>Nothing here.</div>";
+          $hide_tab = (!$temp->content && $settings['settings']['hide_empty']) ? TRUE : FALSE;
+          if (!$hide_tab) {
+            $tab_subject .= "<li><a href='#' id='fragment" . $module_delta . "-" . $i . "'>" . $temp->subject . "</a></li>";
+            //tabe content
+            if ( $temp->content ) {
+              $tab_content .= "<div id='content-fragment" . $module_delta . "-" . $i . "'>" . $temp->content . "</div>";
+            }
+            else{
+              $tab_content .= "<div id='content-fragment" . $module_delta . "-" . $i . "'>Nothing here.</div>";
+            }
           }
         }
         else{
-          $tab_subject .= "<li><a href='#' id='fragment". $module_delta ."-". $i ."'>Error! click here!</a></li>";
-          $tab_content .= "<div id='content-fragment". $module_delta ."-". $i ."'>". l("Please config the tab title here." , "admin/build/block/configure/". $name ."/". $delta) ."</div>";
+          $tab_subject .= "<li><a href='#' id='fragment" . $module_delta . "-" . $i . "'>Error! click here!</a></li>";
+          $tab_content .= "<div id='content-fragment" . $module_delta . "-" . $i . "'>" . l("Please config the tab title here." , "admin/build/block/configure/" . $name . "/" . $delta) . "</div>";
         }
 
         $i++;
       }
       $tab_subject .= "</ul>";
+      // If no tabs because they have no content, set tab subject to empty.
+      if (empty($tab_content)) {
+        $tab_subject = '';
+      }
 
     }
     elseif ( !variable_get( 'tabbed_block_list' , NULL) ) {
@@ -465,6 +472,12 @@ function tabbed_block_admin_settings( $form_states ) {
     '#weight' => -4,
   );
   
+  $form['settings']['hide_empty'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Hide tabs without content'),
+    '#default_value' => ((!empty($settings['hide_empty'])) ? $settings['hide_empty'] : 0),
+  );
+  
   $form['settings']['effects'] = array(
     '#type' => 'textfield',
     '#title' => t('Effects'),
@@ -695,7 +708,7 @@ function tabbed_block_admin_settings_submit( $form, &$form_state ) {
   
   $variable = 'tabbed_block_settings'. arg(4);
   
-  $settings = array( 'effects' => $form_state['values']['effects'], 'ajax' => $form_state['values']['ajax'] );
+  $settings = array( 'effects' => $form_state['values']['effects'], 'ajax' => $form_state['values']['ajax'], 'hide_empty' => $form_state['values']['hide_empty'] );
   
   //init exists blocks from POST instead of database settings
   if ( $form_state['values']['exists'] ) {
