diff --git a/themes/bootstrap3/js/common.js b/themes/bootstrap3/js/common.js
index 0380d9ea3b8870bc9260ac813e29a2799d5ba43a..dc573cab6c0324f3f6cbb1c0d8c43bd281a3dc17 100644
--- a/themes/bootstrap3/js/common.js
+++ b/themes/bootstrap3/js/common.js
@@ -163,9 +163,11 @@ function phoneNumberFormHandler(numID, regionCode) {
 
 // Setup captchas after Google script loads
 function recaptchaOnLoad() {
-  var captchas = $('.g-recaptcha:empty');
-  for (var i = 0; i < captchas.length; i++) {
-    captchas[i].dataset.captchaId = grecaptcha.render(captchas[i], captchas[i].dataset);
+  if (grecaptcha) {
+    var captchas = $('.g-recaptcha:empty');
+    for (var i = 0; i < captchas.length; i++) {
+      captchas[i].dataset.captchaId = grecaptcha.render(captchas[i], captchas[i].dataset);
+    }
   }
 }
 
diff --git a/themes/bootstrap3/js/record.js b/themes/bootstrap3/js/record.js
index 2089fdaec96c73de93df5d67ae7ae25d69c84946..786bc8937d605d4fdddfd188d5097617adc898b2 100644
--- a/themes/bootstrap3/js/record.js
+++ b/themes/bootstrap3/js/record.js
@@ -113,7 +113,9 @@ function registerAjaxCommentRecord() {
       refreshCommentList($tab, id, recordSource);
       $(form).find('textarea[name="comment"]').val('');
       $(form).find('input[type="submit"]').button('loading');
-      grecaptcha.reset($(form).find('.g-recaptcha').data('captchaId'));
+      if (grecaptcha) {
+        grecaptcha.reset($(form).find('.g-recaptcha').data('captchaId'));
+      }
     })
     .fail(function addCommentFail(response, textStatus) {
       if (textStatus === 'abort' || typeof response.responseJSON === 'undefined') { return; }