diff --git a/misc/drupal.js b/misc/drupal.js
index 83b0884280845291c4c494d147b76f0e64ffe910..c920731d3a6d35f7856b79893c16841d703e3e68 100644
--- a/misc/drupal.js
+++ b/misc/drupal.js
@@ -50,11 +50,13 @@ Drupal.attachBehaviors = function (context, settings) {
   context = context || document;
   settings = settings || Drupal.settings;
   // Execute all of them.
-  $.each(Drupal.behaviors, function () {
-    if ($.isFunction(this.attach)) {
-      this.attach(context, settings);
+  for(var behavior in Drupal.behaviors) {
+    if (Drupal.behaviors.hasOwnProperty(behavior)) {
+      if ($.isFunction(Drupal.behaviors[behavior].attach)) {
+        Drupal.behaviors[behavior].attach(context, settings);
+      }
     }
-  });
+  }
 };
 
 /**
