diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 9dc4e992a37..c95c68af983 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -55,9 +55,6 @@
     <%= render partial: "common/discourse_stylesheet" %>
     <%= render partial: "common/special_font_face" %>
 
-    <meta id="data-preloaded" data-preloaded="<%= preloaded_json %>">
-    <%= preload_script "preload-application-data" %>
-
     <%= yield :head %>
 
     <%= build_plugin_html 'server:before-head-close' %>
@@ -107,6 +104,9 @@
       </form>
     <% end %>
 
+    <div class="hidden" id="data-preloaded" data-preloaded="<%= preloaded_json %>">
+    <%= preload_script "preload-application-data" %>
+
     <%= yield :data %>
 
     <%= render :partial => "common/discourse_javascript" %>
diff --git a/spec/requests/categories_controller_spec.rb b/spec/requests/categories_controller_spec.rb
index d6aba32f3a1..d6f80b31c81 100644
--- a/spec/requests/categories_controller_spec.rb
+++ b/spec/requests/categories_controller_spec.rb
@@ -32,7 +32,7 @@ describe CategoriesController do
       SiteSetting.categories_topics.times { Fabricate(:topic) }
       get "/categories"
 
-      expect(response.body).to have_tag("meta#data-preloaded") do |element|
+      expect(response.body).to have_tag("div#data-preloaded") do |element|
         json = JSON.parse(element.current_scope.attribute('data-preloaded').value)
         expect(json['topic_list_latest']).to include(%{"more_topics_url":"/latest"})
       end
diff --git a/spec/requests/users_controller_spec.rb b/spec/requests/users_controller_spec.rb
index cdb25b17f28..7697f083453 100644
--- a/spec/requests/users_controller_spec.rb
+++ b/spec/requests/users_controller_spec.rb
@@ -190,7 +190,7 @@ describe UsersController do
         )
 
         expect(response.status).to eq(200)
-        expect(response.body).to have_tag("meta#data-preloaded") do |element|
+        expect(response.body).to have_tag("div#data-preloaded") do |element|
           json = JSON.parse(element.current_scope.attribute('data-preloaded').value)
           expect(json['password_reset']).to include('{"is_developer":false,"admin":false,"second_factor_required":false,"backup_enabled":false}')
         end
@@ -258,7 +258,7 @@ describe UsersController do
 
           get "/u/password-reset/#{token}"
 
-          expect(response.body).to have_tag("meta#data-preloaded") do |element|
+          expect(response.body).to have_tag("div#data-preloaded") do |element|
             json = JSON.parse(element.current_scope.attribute('data-preloaded').value)
             expect(json['password_reset']).to include('{"is_developer":false,"admin":false,"second_factor_required":true,"backup_enabled":false}')
           end
@@ -2615,7 +2615,7 @@ describe UsersController do
 
         expect(response.status).to eq(200)
 
-        expect(response.body).to have_tag("meta#data-preloaded") do |element|
+        expect(response.body).to have_tag("div#data-preloaded") do |element|
           json = JSON.parse(element.current_scope.attribute('data-preloaded').value)
           expect(json['accountCreated']).to include(
             "{\"message\":\"#{I18n.t("login.activate_email", email: user.email).gsub!("</", "<\\/")}\",\"show_controls\":true,\"username\":\"#{user.username}\",\"email\":\"#{user.email}\"}"