diff --git a/modules/aggregator/www/index.php b/modules/aggregator/www/index.php
index 0b0dd375e114092c1d133a88ca55eeabfea3bb4e..b866f42205ecac7d4187c793b6475ec2ae1fd576 100644
--- a/modules/aggregator/www/index.php
+++ b/modules/aggregator/www/index.php
@@ -40,28 +40,36 @@ try {
 		var_export($id, TRUE) . ': ' . $e->getMessage());
 }
 
+$exclude = NULL;
+if (array_key_exists('exclude', $_REQUEST)) $exclude = $_REQUEST['exclude'];
+
+#echo $exclude; exit;
 /* Find list of all available entities. */
 $entities = array();
 foreach ($sources as $source) {
 	foreach ($metadataSets as $set) {
 		foreach ($source->getMetadataSet($set) as $entityId => $metadata) {
-			if (!array_key_exists($entityId, $entities)) {
-				$entities[$entityId] = array();
+			if (isset($exclude) && 
+					array_key_exists('tags', $metadata) && 
+					in_array($exclude, $metadata['tags'])) {
+				SimpleSAML_Logger::debug('Excluding entity ID [' . $entityId . '] becuase it is tagged with [' . $exclude . ']');
+				continue;
+			} else {
+				#echo('<pre>'); print_r($metadata); exit;
 			}
-
+			if (!array_key_exists($entityId, $entities)) 
+				$entities[$entityId] = array();
+				
 			if (array_key_exists($set, $entities[$entityId])) {
 				/* Entity already has metadata for the given set. */
 				continue;
 			}
-
+			
 			$entities[$entityId][$set] = $metadata;
 		}
 	}
 }
 
-
-
-
 $xml = new DOMDocument();
 $entitiesDescriptor = $xml->createElementNS('urn:oasis:names:tc:SAML:2.0:metadata', 'EntitiesDescriptor');
 $entitiesDescriptor->setAttribute('Name', $id);