diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index 53e3c77..35ad712 100755
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -904,21 +904,6 @@
       var new_content_wrapped = $('<div></div>').html(response.data);
       var new_content = new_content_wrapped.contents();
 
-      // For legacy reasons, the effects processing code assumes that
-      // new_content consists of a single top-level element. Also, it has not
-      // been sufficiently tested whether attachBehaviors() can be successfully
-      // called with a context object that includes top-level text nodes.
-      // However, to give developers full control of the HTML appearing in the
-      // page, and to enable Ajax content to be inserted in places where DIV
-      // elements are not allowed (e.g., within TABLE, TR, and SPAN parents),
-      // we check if the new content satisfies the requirement of a single
-      // top-level element, and only use the container DIV created above when
-      // it doesn't. For more information, please see
-      // https://www.drupal.org/node/736066.
-      if (new_content.length !== 1 || new_content.get(0).nodeType !== 1) {
-        new_content = new_content_wrapped;
-      }
-
       // If removing content from the wrapper, detach behaviors first.
       switch (method) {
         case 'html':
@@ -955,6 +940,20 @@
       if (new_content.parents('html').length > 0) {
         // Apply any settings from the returned JSON if available.
         settings = response.settings || ajax.settings || drupalSettings;
+        // For legacy reasons, the effects processing code assumes that
+        // new_content consists of a single top-level element. Also, it has not
+        // been sufficiently tested whether attachBehaviors() can be successfully
+        // called with a context object that includes top-level text nodes.
+        // However, to give developers full control of the HTML appearing in the
+        // page, and to enable Ajax content to be inserted in places where DIV
+        // elements are not allowed (e.g., within TABLE, TR, and SPAN parents),
+        // we check if the new content satisfies the requirement of a single
+        // top-level element, and only use the container DIV created above when
+        // it doesn't. For more information, please see
+        // https://www.drupal.org/node/736066.
+        if (new_content.length !== 1 || new_content.get(0).nodeType !== 1) {
+          new_content = new_content.parent();
+        }
         Drupal.attachBehaviors(new_content.get(0), settings);
       }
     },
