diff --git a/misc/ajax.js b/misc/ajax.js
index 785052f7b287e46c0131996d4add220b8b959b35..3d0357cbc2ab50cc67fce2da145e6181d051e329 100644
--- a/misc/ajax.js
+++ b/misc/ajax.js
@@ -132,7 +132,7 @@ Drupal.ajax = function (base, element, element_settings) {
       // Sanity check for browser support (object expected).
       // When using iFrame uploads, responses must be returned as a string.
       if (typeof response == 'string') {
-        response = Drupal.parseJson(response);
+        response = $.parseJson(response);
       }
       return ajax.success(response, status);
     },
diff --git a/misc/drupal.js b/misc/drupal.js
index 5b456a65df8a3acdec264a9666099657fab24bd8..d6f7597c346db9e90dca85146bc69f8679cab605 100644
--- a/misc/drupal.js
+++ b/misc/drupal.js
@@ -247,18 +247,6 @@ Drupal.theme = function (func) {
   return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);
 };
 
-/**
- * Parse a JSON response.
- *
- * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message.
- */
-Drupal.parseJson = function (data) {
-  if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
-    return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
-  }
-  return eval('(' + data + ');');
-};
-
 /**
  * Freeze the current body height (as minimum height). Used to prevent
  * unnecessary upwards scrolling when doing DOM manipulations.