Index: docroot/sites/all/modules/features/features.export.inc
===================================================================
--- docroot/sites/all/modules/features/features.export.inc	(revision 6230)
+++ docroot/sites/all/modules/features/features.export.inc	(working copy)
@@ -293,6 +293,7 @@
       }
     }
     $cache[$module->name] = $overridden;
+    $GLOBALS['test'][]['overrides'] = $overridden;
   }
   return $cache[$module->name];
 }
@@ -387,7 +388,7 @@
     sprintf("%11s", decoct(time())) // Creation time
   );
   $binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", '', '', '', '', '', '', '', '', '', '');
-  
+
   $checksum = 0;
   for ($i = 0; $i < 148; $i++) {
     $checksum += ord(substr($binary_data_first, $i, 1));
@@ -398,11 +399,11 @@
   for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
     $checksum += ord(substr($binary_data_last, $j, 1));
   }
-  
+
   $tar .= $binary_data_first;
   $tar .= pack("a8", sprintf("%6s ", decoct($checksum)));
   $tar .= $binary_data_last;
-  
+
   $buffer = str_split($contents, 512);
   foreach ($buffer as $item) {
     $tar .= pack("a512", $item);
@@ -618,6 +619,20 @@
         else {
           $cache[$component][$m] = FALSE;
         }
+        if ($component === 'node' && is_array($cache[$component][$m])) {
+          $features_included = FALSE;
+          foreach ($cache[$component][$m] as $key => $val) {
+           if($cache[$component][$m][$key]['module'] === $m) {
+             $cache[$component][$m][$key] = FALSE;
+           }
+           else {
+             $features_included = TRUE;
+           }
+          }
+          if (!$features_included) {
+            $cache[$component][$m] = FALSE;
+          }
+        }
       }
     }
   }
