diff --git a/src/client/reducers/events.js b/src/client/reducers/events.js
index 848e175a7b85bc48e2a0bac48dc8d53654dce6b2..7c4baaa73202a704c8a49929ea1b4afd8d6a7616 100644
--- a/src/client/reducers/events.js
+++ b/src/client/reducers/events.js
@@ -45,7 +45,10 @@ export const INITIAL_STATE = {
     {
       id: 'type',
       label: 'Type',
-      desc: 'Type description',
+      desc: `
+        Distinguish between “Transfer of Custody”, “Production”, and other
+        types of “Activity” events.
+      `,
       valueType: 'object',
       makeLink: true,
       externalLink: false,
@@ -56,7 +59,9 @@ export const INITIAL_STATE = {
     {
       id: 'manuscript',
       label: 'Manuscript / Collection',
-      desc: 'Manuscript / Collection description',
+      desc: `
+        The manuscript or manuscript collection associated with the event.
+      `,
       valueType: 'object',
       makeLink: true,
       externalLink: false,
@@ -68,7 +73,7 @@ export const INITIAL_STATE = {
       id: 'eventTimespan',
       label: 'Date',
       desc: `
-        Date description.
+        The date or time period associated with the event.
       `,
       valueType: 'object',
       makeLink: false,
@@ -80,7 +85,7 @@ export const INITIAL_STATE = {
     {
       id: 'place',
       label: 'Place',
-      desc: 'Place description',
+      desc: 'The specific place associated with the event.',
       valueType: 'object',
       makeLink: true,
       externalLink: false,
@@ -91,7 +96,10 @@ export const INITIAL_STATE = {
     {
       id: 'source',
       label: 'Source',
-      desc: 'Source description',
+      desc: `
+        The source database (Schoenberg, Bibale, and Bodleian) that provided
+        the information about the event.
+      `,
       valueType: 'object',
       makeLink: true,
       externalLink: true,
diff --git a/src/client/reducers/eventsFacets.js b/src/client/reducers/eventsFacets.js
index ac0daf8de9ae82f9821e77302593a3602cb84b9a..23ce29dbfec7864b3f47d4bf5017771680f882a3 100644
--- a/src/client/reducers/eventsFacets.js
+++ b/src/client/reducers/eventsFacets.js
@@ -33,7 +33,25 @@ export const INITIAL_STATE = {
       filterType: 'uriFilter',
       uriFilter: null,
       spatialFilter: null,
-      priority: 3
+      priority: 4
+    },
+    manuscript: {
+      id: 'manuscript',
+      label: 'Manuscript / Collection',
+      // predicate: defined in backend
+      distinctValueCount: 0,
+      values: [],
+      flatValues: [],
+      sortBy: null,
+      sortDirection: null,
+      sortButton: false,
+      spatialFilterButton: false,
+      isFetching: false,
+      searchField: false,
+      containerClass: 'one',
+      filterType: 'textFilter',
+      textFilter: null,
+      priority: 2
     },
     eventTimespan: {
       id: 'eventTimespan',
@@ -54,7 +72,7 @@ export const INITIAL_STATE = {
       max: null,
       timespanFilter: null,
       type: 'timespan',
-      priority: 2
+      priority: 3
     },
     place: {
       id: 'place',
@@ -76,6 +94,24 @@ export const INITIAL_STATE = {
       type: 'hierarchical',
       priority: 1
     },
+    // source: {
+    //   id: 'source',
+    //   label: 'Source',
+    //   // predicate: defined in backend
+    //   distinctValueCount: 0,
+    //   values: [],
+    //   flatValues: [],
+    //   sortBy: 'instanceCount',
+    //   sortDirection: 'desc',
+    //   sortButton: false,
+    //   spatialFilterButton: false,
+    //   isFetching: false,
+    //   searchField: false,
+    //   containerClass: 'three',
+    //   filterType: 'uriFilter',
+    //   uriFilter: null,
+    //   priority: 5
+    // },
   }
 };
 
diff --git a/src/server/sparql/FacetConfigsMMM.js b/src/server/sparql/FacetConfigsMMM.js
index c21fc501583b306b8e536f084dba7cb4ed5f3434..7af2493727c34c5dab1a36c24d7cb92a06973938 100644
--- a/src/server/sparql/FacetConfigsMMM.js
+++ b/src/server/sparql/FacetConfigsMMM.js
@@ -318,6 +318,13 @@ export const facetConfigs = {
       parentPredicate: 'crm:P7_took_place_at/gvp:broaderPreferred+',
       type: 'hierarchical',
     },
+    source: {
+      id: 'source',
+      facetValueFilter: '',
+      labelPath: 'dct:source/skos:prefLabel',
+      predicate: 'dct:source',
+      type: 'list',
+    },
   },
   actors: {
     facetClass: 'crm:E21_Person crm:E74_Group crm:E39_Actor',
diff --git a/src/server/sparql/SparqlQueriesEvents.js b/src/server/sparql/SparqlQueriesEvents.js
index b07f3116ff0d0bff92884f4417e8877add1b2c69..b9daf729f187a1c8780f13bd35f8eb35e1748ef5 100644
--- a/src/server/sparql/SparqlQueriesEvents.js
+++ b/src/server/sparql/SparqlQueriesEvents.js
@@ -65,6 +65,7 @@ export const eventProperties = `
     {
       ?id dct:source ?source__id .
       ?source__id skos:prefLabel ?source__prefLabel .
-      BIND(?source__id AS ?source__dataProviderUrl)
+      OPTIONAL { ?id mmm-schema:data_provider_url ?dataProviderUrl_ }
+      BIND(COALESCE(?dataProviderUrl_, ?source__id) AS ?source__dataProviderUrl)
     }
 `;