diff --git a/xmlsitemap.admin.inc b/xmlsitemap.admin.inc
index 9212766..d5ff90c 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..e4ec98d 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
@@ -1150,13 +1151,12 @@ 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;
     }
   }
-
-  return 'never';
 }
 
 /**
@@ -1378,6 +1378,7 @@ function xmlsitemap_get_changefreq_options() {
     XMLSITEMAP_FREQUENCY_WEEKLY => 'weekly',
     XMLSITEMAP_FREQUENCY_MONTHLY => 'monthly',
     XMLSITEMAP_FREQUENCY_YEARLY => 'yearly',
+    XMLSITEMAP_FREQUENCY_NEVER => 'never',
   );
 }
 
