diff --git a/docroot/includes/common.inc b/docroot/includes/common.inc
index cd30145..d17d0af 100644
--- a/docroot/includes/common.inc
+++ b/docroot/includes/common.inc
@@ -5937,8 +5937,15 @@ function drupal_render(&$elements) {
     return '';
   }
 
+  // This allows us to turn render caching off. We statically cache it to avoid
+  // calling variable_get ad infinitum.
+  $render_cache = &drupal_static(__FUNCTION__);
+  if (!isset($render_cache)) {
+    $render_cache = variable_get('render_cache', TRUE);
+  }
+
   // Try to fetch the element's markup from cache and return.
-  if (isset($elements['#cache'])) {
+  if ($render_cache && isset($elements['#cache'])) {
     $cached_output = drupal_render_cache_get($elements);
     if ($cached_output !== FALSE) {
       return $cached_output;
@@ -6029,8 +6036,8 @@ function drupal_render(&$elements) {
   $suffix = isset($elements['#suffix']) ? $elements['#suffix'] : '';
   $output = $prefix . $elements['#children'] . $suffix;
 
-  // Cache the processed element if #cache is set.
-  if (isset($elements['#cache'])) {
+  // Cache the processed element if render cache is active and #cache is set.
+  if ($render_cache && isset($elements['#cache'])) {
     drupal_render_cache_set($output, $elements);
   }
 
