diff --git a/metatag_dc/metatag_dc.admin.inc b/metatag_dc/metatag_dc.admin.inc
new file mode 100644
index 0000000..93cdf58
--- /dev/null
+++ b/metatag_dc/metatag_dc.admin.inc
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * Menu callback for Dublin Core configuration. 
+ */
+function metatag_dc_config() {
+  $form = array();
+  
+  // Add a term Prefix option.
+  $form['metatag_dc_prefix'] = array(
+    '#type' => 'select',
+    '#title' => t('Dublin Core Prefix'),
+    '#description' => t('Choose a prefix to be rendered on page display.'),
+    '#options' => array(
+      'DC' => 'DC',
+      'DCTERMS' => 'DCTERMS',
+    ),
+    '#default_value' => _metadata_dc_prefix(),
+  );
+  $form['#submit'][] = 'metatag_dc_submit';
+  
+  return system_settings_form($form);
+}
+
+/**
+ * Submit callback for Dublin Core configuration.
+ */
+function metatag_dc_submit() {
+  // Give feedback to the user to reset the cache to take effect.
+  drupal_set_message("The cache needs to be cleared for this setting to take effect.");
+}
diff --git a/metatag_dc/metatag_dc.metatag.inc b/metatag_dc/metatag_dc.metatag.inc
index 0a8e577..5264b47 100644
--- a/metatag_dc/metatag_dc.metatag.inc
+++ b/metatag_dc/metatag_dc.metatag.inc
@@ -8,47 +8,48 @@
  * Implements hook_metatag_config_default_alter().
  */
 function metatag_dc_metatag_config_default_alter(array &$configs) {
+  $prefix = _metadata_dc_prefix();
   foreach ($configs as &$config) {
     switch ($config->instance) {
       case 'global':
         $config->config += array(
-          'DC.title' => array('value' => '[current-page:title]'),
-          'DC.type' => array('value' => 'Text'),
-          'DC.format' => array('value' => 'text/html'),
+          $prefix . '.title' => array('value' => '[current-page:title]'),
+          $prefix . '.type' => array('value' => 'Text'),
+          $prefix . '.format' => array('value' => 'text/html'),
         );
         break;
 
       case 'global:frontpage':
         $config->config += array(
-          'DC.title' => array('value' => '[site:name]'),
-          'DC.identifier' => array('value' => '[site:url]'),
+          $prefix . '.title' => array('value' => '[site:name]'),
+          $prefix . '.identifier' => array('value' => '[site:url]'),
         );
         break;
 
       case 'node':
         $config->config += array(
-          'DC.title' => array('value' => '[node:title]'),
-          'DC.date' => array('value' => '[node:created:custom:Y-m-d\TH:iP]'),
-          'DC.identifier' => array('value' => '[site:url]node/[node:nid]'),
-          'DC.language' => array('value' => '[node:language]'),
-          'DC.creator' => array('value' => '[node:author]'),
+          $prefix . '.title' => array('value' => '[node:title]'),
+          $prefix . '.date' => array('value' => '[node:created:custom:Y-m-d\TH:iP]'),
+          $prefix . '.identifier' => array('value' => '[site:url]node/[node:nid]'),
+          $prefix . '.language' => array('value' => '[node:language]'),
+          $prefix . '.creator' => array('value' => '[node:author]'),
         );
         break;
 
       case 'taxonomy_term':
         $config->config += array(
-          'DC.title' => array('value' => '[term:name]'),
-          'DC.identifier' => array('value' => '[site:url]taxonomy/term/[term:tid]'),
-          'DC.description' => array('value' => '[term:description]'),
+          $prefix . '.title' => array('value' => '[term:name]'),
+          $prefix . '.identifier' => array('value' => '[site:url]taxonomy/term/[term:tid]'),
+          $prefix . '.description' => array('value' => '[term:description]'),
         );
         break;
 
       case 'user':
         $config->config += array(
-          'DC.title' => array('value' => '[user:name]'),
-          'DC.date' => array('value' => '[user:created:custom:Y-m-d\TH:iP]'),
-          'DC.identifier' => array('value' => '[site:url]user/[user:uid]'),
-          'DC.creator' => array('value' => '[user:name]'),
+          $prefix . '.title' => array('value' => '[user:name]'),
+          $prefix . '.date' => array('value' => '[user:created:custom:Y-m-d\TH:iP]'),
+          $prefix . '.identifier' => array('value' => '[site:url]user/[user:uid]'),
+          $prefix . '.creator' => array('value' => '[user:name]'),
         );
         break;
     }
@@ -60,6 +61,7 @@ function metatag_dc_metatag_config_default_alter(array &$configs) {
  * Dublin Core Elements taken from http://purl.org/dc/elements/1.1/.
  */
 function metatag_dc_metatag_info() {
+  $prefix = _metadata_dc_prefix();
   $info['groups']['dublin-core'] = array(
     'label' => t('Dublin Core'),
     'description' => t('Dublin Core 15 basic metadata fields'),
@@ -67,16 +69,17 @@ function metatag_dc_metatag_info() {
       '#weight' => 95,
     ),
   );
-  $info['tags']['DC.title'] = array(
+  $info['tags'][$prefix . '.title'] = array(
     'label' => t('Dublin Core Title'),
     'description' => t('The name given to the resource.'),
     'class' => 'DrupalTextMetaTag',
     'group' => 'dublin-core',
     'element' => array(
+      '#type' => 'term',
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.creator'] = array(
+  $info['tags'][$prefix . '.creator'] = array(
     'label' => t('Dublin Core Creator'),
     'description' => t('An entity primarily responsible for making the resource. Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity.'),
     'group' => 'dublin-core',
@@ -85,7 +88,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.subject'] = array(
+  $info['tags'][$prefix . '.subject'] = array(
     'label' => t('Dublin Core Subject'),
     'description' => t('The topic of the resource. Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. To describe the spatial or temporal topic of the resource, use the Coverage element.'),
     'class' => 'DrupalTextMetaTag',
@@ -94,7 +97,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.description'] = array(
+  $info['tags'][$prefix . '.description'] = array(
     'label' => t('Dublin Core Description'),
     'description' => t('An account of the resource. Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource.'),
     'group' => 'dublin-core',
@@ -103,7 +106,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.publisher'] = array(
+  $info['tags'][$prefix . '.publisher'] = array(
     'label' => t('Dublin Core Publisher'),
     'description' => t('An entity responsible for making the resource available. Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity.'),
     'group' => 'dublin-core',
@@ -112,7 +115,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.contributor'] = array(
+  $info['tags'][$prefix . '.contributor'] = array(
     'label' => t('Dublin Core Contributor'),
     'description' => t('An entity responsible for making contributions to the resource. Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity.'),
     'group' => 'dublin-core',
@@ -121,7 +124,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.date'] = array(
+  $info['tags'][$prefix . '.date'] = array(
     'label' => t('Dublin Core Date'),
     'description' => t('A point or period of time associated with an event in the lifecycle of the resource. Date may be used to express temporal information at any level of granularity.  Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF].'),
     'class' => 'DrupalTextMetaTag',
@@ -131,7 +134,7 @@ function metatag_dc_metatag_info() {
       '#schema' => 'DCTERMS.W3CDTF',
     ),
   );
-  $info['tags']['DC.type'] = array(
+  $info['tags'][$prefix . '.type'] = array(
     'label' => t('Dublin Core Type'),
     'description' => t('The nature or genre of the resource. Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element.'),
     'class' => 'DrupalTextMetaTag',
@@ -146,7 +149,7 @@ function metatag_dc_metatag_info() {
       '#schema' => 'DCTERMS.DCMIType',
     ),
   );
-  $info['tags']['DC.format'] = array(
+  $info['tags'][$prefix . '.format'] = array(
     'label' => t('Dublin Core Format'),
     'description' => t('The file format, physical medium, or dimensions of the resource. Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME].'),
     'class' => 'DrupalTextMetaTag',
@@ -156,7 +159,7 @@ function metatag_dc_metatag_info() {
       '#schema' => 'DCTERMS.IMT',
     ),
   );
-  $info['tags']['DC.identifier'] = array(
+  $info['tags'][$prefix . '.identifier'] = array(
     'label' => t('Dublin Core Identifier'),
     'description' => t('An unambiguous reference to the resource within a given context. Recommended best practice is to identify the resource by means of a string conforming to a formal identification system.'),
     'class' => 'DrupalTextMetaTag',
@@ -165,7 +168,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.source'] = array(
+  $info['tags'][$prefix . '.source'] = array(
     'label' => t('Dublin Core Source'),
     'description' => t('A related resource from which the described resource is derived. The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system.'),
     'group' => 'dublin-core',
@@ -174,7 +177,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.language'] = array(
+  $info['tags'][$prefix . '.language'] = array(
     'label' => t('Dublin Core Language'),
     'description' => t('A language of the resource. Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646].'),
     'class' => 'DrupalTextMetaTag',
@@ -183,7 +186,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.relation'] = array(
+  $info['tags'][$prefix . '.relation'] = array(
     'label' => t('Dublin Core Relation'),
     'description' => t('A related resource. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system.'),
     'group' => 'dublin-core',
@@ -192,7 +195,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.coverage'] = array(
+  $info['tags'][$prefix . '.coverage'] = array(
     'label' => t('Dublin Core Coverage'),
     'description' => t('The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant. Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges.'),
     'group' => 'dublin-core',
@@ -201,7 +204,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-  $info['tags']['DC.rights'] = array(
+  $info['tags'][$prefix . '.rights'] = array(
     'label' => t('Dublin Core Rights'),
     'description' => t('Information about rights held in and over the resource. Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights.'),
     'group' => 'dublin-core',
@@ -210,7 +213,7 @@ function metatag_dc_metatag_info() {
       '#theme' => 'metatag_dc',
     ),
   );
-
+  
   return $info;
 }
 
diff --git a/metatag_dc/metatag_dc.module b/metatag_dc/metatag_dc.module
index 986a9aa..bdd7b5a 100644
--- a/metatag_dc/metatag_dc.module
+++ b/metatag_dc/metatag_dc.module
@@ -5,6 +5,26 @@
  */
 
 /**
+ * Dublin Core Configuration Page.
+ */
+function metatag_dc_menu() {
+  $items = array();
+  
+  // Setup a local task to configure Dublin Core.
+  $items['admin/config/search/metatags/dublin-core'] = array(
+    'title' => 'Dublin Core Configuration',
+    'type' => MENU_LOCAL_TASK,
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('metatag_dc_config'),
+    'access arguments' => array('administer meta tags'),
+    'weight' => 1,
+    'file' => 'metatag_dc.admin.inc',
+  );
+  
+  return $items;
+}
+
+/**
  * Implements hook_page_build.
  */
 function metatag_dc_page_build(&$page) {
@@ -54,6 +74,13 @@ function theme_metatag_dc($variables) {
   return theme('html_tag', $variables);
 }
 
+/**
+ * Get the Dublin Core prefix.
+ */
+function _metadata_dc_prefix() {
+  return variable_get('metatag_dc_prefix', 'CD');
+}
+
 /*
 Dublin Core Basic Elements (15)
 DC:title
