diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index 95fd2c3df..9ef528a5f 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -85,7 +85,7 @@
<%= render "users/ban_notice" %>
<% end %>
- <% if CurrentUser.dmail_count.present? && CurrentUser.dmails.unread.present? && cookies[:hide_dmail_notice].to_i != CurrentUser.dmails.unread.first.id %>
+ <% if CurrentUser.has_mail? && CurrentUser.dmails.unread.first.present? && cookies[:hide_dmail_notice].to_i != CurrentUser.dmails.unread.first.id %>
<%= render "users/dmail_notice" %>
<% end %>
diff --git a/db/migrate/20170218104710_add_indexes_to_dmails.rb b/db/migrate/20170218104710_add_indexes_to_dmails.rb
new file mode 100644
index 000000000..13028df8c
--- /dev/null
+++ b/db/migrate/20170218104710_add_indexes_to_dmails.rb
@@ -0,0 +1,7 @@
+class AddIndexesToDmails < ActiveRecord::Migration
+ def change
+ execute "set statement_timeout = 0"
+ add_index :dmails, :is_read
+ add_index :dmails, :is_deleted
+ end
+end
diff --git a/db/structure.sql b/db/structure.sql
index c3387c466..240c02f73 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -5084,6 +5084,20 @@ CREATE UNIQUE INDEX index_dmail_filters_on_user_id ON dmail_filters USING btree
CREATE INDEX index_dmails_on_creator_ip_addr ON dmails USING btree (creator_ip_addr);
+--
+-- Name: index_dmails_on_is_deleted; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_dmails_on_is_deleted ON dmails USING btree (is_deleted);
+
+
+--
+-- Name: index_dmails_on_is_read; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_dmails_on_is_read ON dmails USING btree (is_read);
+
+
--
-- Name: index_dmails_on_message_index; Type: INDEX; Schema: public; Owner: -
--
@@ -7450,3 +7464,5 @@ INSERT INTO schema_migrations (version) VALUES ('20170112060921');
INSERT INTO schema_migrations (version) VALUES ('20170117233040');
+INSERT INTO schema_migrations (version) VALUES ('20170218104710');
+