diff --git a/xmlsitemap.admin.inc b/xmlsitemap.admin.inc
index 2b34c02..1ef770e 100644
--- a/xmlsitemap.admin.inc
+++ b/xmlsitemap.admin.inc
@@ -268,6 +268,13 @@ function xmlsitemap_settings_form($form, &$form_state) {
     '#description' => t('The minimum amount of time that will elapse before the sitemaps are regenerated. The sitemaps will also only be regenerated on cron if any links have been added, updated, or deleted.') . '<br />' . t('Recommended value: %value.', array('%value' => t('1 day'))),
     '#default_value' => variable_get('xmlsitemap_minimum_lifetime', 0),
   );
+  $form['xmlsitemap_maximum_changefreq'] = array(
+    '#type' => 'select',
+    '#title' => t('Maximum change frequency'),
+    '#options' => xmlsitemap_get_changefreq_options(),
+    '#description' => t('The maximum change frequency assigned to a sitemap item.') . '<br />' . t('Recommended value: %value.', array('%value' => t('never'))),
+    '#default_value' => variable_get('xmlsitemap_maximum_changefreq', XMLSITEMAP_FREQUENCY_NEVER),
+  );
   $form['xmlsitemap_xsl'] = array(
     '#type' => 'checkbox',
     '#title' => t('Include a stylesheet in the sitemaps for humans.'),
diff --git a/xmlsitemap.module b/xmlsitemap.module
index 93e935f..17321f6 100644
--- a/xmlsitemap.module
+++ b/xmlsitemap.module
@@ -19,6 +19,7 @@ define('XMLSITEMAP_MAX_SITEMAP_LINKS', 50000);
  */
 define('XMLSITEMAP_MAX_SITEMAP_FILESIZE', 10485760);
 
+define('XMLSITEMAP_FREQUENCY_NEVER', PHP_INT_MAX);
 define('XMLSITEMAP_FREQUENCY_YEARLY', 31449600); // 60 * 60 * 24 * 7 * 52
 define('XMLSITEMAP_FREQUENCY_MONTHLY', 2419200); // 60 * 60 * 24 * 7 * 4
 define('XMLSITEMAP_FREQUENCY_WEEKLY', 604800); // 60 * 60 * 24 * 7
@@ -278,6 +279,7 @@ function xmlsitemap_variables() {
     'xmlsitemap_rebuild_needed' => FALSE,
     'xmlsitemap_regenerate_needed' => FALSE,
     'xmlsitemap_minimum_lifetime' => 0,
+    'xmlsitemap_maximum_changefreq' => XMLSITEMAP_FREQUENCY_NEVER,
     'xmlsitemap_generated_last' => 0,
     'xmlsitemap_xsl' => 1,
     'xmlsitemap_prefetch_aliases' => 1,
@@ -1150,8 +1152,9 @@ function xmlsitemap_get_changefreq($interval) {
     return FALSE;
   }
 
+  $maximum_changefreq = variable_get('xmlsitemap_maximum_changefreq', XMLSITEMAP_FREQUENCY_NEVER);
   foreach (xmlsitemap_get_changefreq_options() as $value => $frequency) {
-    if ($interval <= $value) {
+    if ($interval <= $value || $value >= $maximum_changefreq) {
       return $frequency;
     }
   }
@@ -1378,6 +1381,7 @@ function xmlsitemap_get_changefreq_options() {
     XMLSITEMAP_FREQUENCY_WEEKLY => 'weekly',
     XMLSITEMAP_FREQUENCY_MONTHLY => 'monthly',
     XMLSITEMAP_FREQUENCY_YEARLY => 'yearly',
+    XMLSITEMAP_FREQUENCY_NEVER => 'never',
   );
 }
 
