diff --git a/core/DataTable/Array.php b/core/DataTable/Array.php
index 65b1133ff04dbd672a217f34492f57826892d867..e07867dfc2f9aa6ce00de6998c87d3fb18b754d9 100644
--- a/core/DataTable/Array.php
+++ b/core/DataTable/Array.php
@@ -408,4 +408,25 @@ class Piwik_DataTable_Array
 		$newTableArray->setKeyName($this->getKeyName());
 		return $newTableArray;
 	}
+	
+	/**
+	 * Returns the intersection of cildrends' meta data arrays
+	 * 
+	 * @param string $name The metadata name.
+	 * @return mixed
+	 */
+	public function getMetadataIntersectArray( $name )
+	{
+		$data = array();
+		foreach ($this->getArray() as $childTable)
+		{
+			$childData = $childTable->getMetadata($name);
+			if (is_array($childData))
+			{
+				$data = array_intersect($data, $childData);
+			}
+		}
+		return array_values($data);
+	}
+	
 }
diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php
index 33ab179cf85c093e0d1fc309d89f853ae1ebfa40..e433b6abf8a1b76c7d37fa6b830c740cf51f2957 100644
--- a/core/ViewDataTable.php
+++ b/core/ViewDataTable.php
@@ -1281,7 +1281,11 @@ abstract class Piwik_ViewDataTable
 
 		$this->columnsToDisplay = array_filter($this->columnsToDisplay);
 		
-		$emptyColumns = $this->dataTable->getMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME);
+		if ($this->dataTable instanceof Piwik_DataTable_Array) {
+			$emptyColumns = $this->dataTable->getMetadataIntersectArray(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME);
+		} else {
+			$emptyColumns = $this->dataTable->getMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME);
+		}
 		if (is_array($emptyColumns))
 		{
 			foreach ($emptyColumns as $emptyColumn)
diff --git a/plugins/CoreHome/templates/datatable_manager.js b/plugins/CoreHome/templates/datatable_manager.js
index 8581374307133c5beeed1d562ee882793116bc60..d5b48a7041b3a961ba7044a707d83a69b0f57f2d 100644
--- a/plugins/CoreHome/templates/datatable_manager.js
+++ b/plugins/CoreHome/templates/datatable_manager.js
@@ -116,8 +116,15 @@
 			var graphId = dataTableId + 'Chart';
 			graphElement.attr('id', graphId);
 			
-			var graphData = JSON.parse(graphElement.attr('data-data')),
-				plot = new JQPlot(graphData, dataTableId);
+			var graphData;
+			try {
+				graphData = JSON.parse(graphElement.attr('data-data'));
+			} catch(e) {
+				console.error('JSON.parse Error: "' + e + "\" in:\n" + graphElement.attr('data-data'));
+				return;
+			}
+			
+			var plot = new JQPlot(graphData, dataTableId);
 			
 			// add external series toggle if it should be added
 			var externalSeriesToggle = graphElement.attr('data-external-series-toggle');