diff --git a/app/assets/stylesheets/generic/common.scss b/app/assets/stylesheets/generic/common.scss
index 991561cd503d98e62e88f3595820a4aa8323e66f..9d3c9f372a90af6c97322d0e05fa532d9e7d593a 100644
--- a/app/assets/stylesheets/generic/common.scss
+++ b/app/assets/stylesheets/generic/common.scss
@@ -341,3 +341,18 @@ table {
 .footer-links a {
   margin-right: 15px;
 }
+
+.search_box {
+  position: relative;
+  padding: 30px;
+  text-align: center;
+  background-color: #F9F9F9;
+  border: 1px solid #DDDDDD;
+  border-radius: 0px;
+}
+
+.search_glyph {
+  color: #555;
+  font-size: 42px;
+}
+
diff --git a/app/views/search/_project_results.html.haml b/app/views/search/_project_results.html.haml
index 1fc1bf195603fd4590c33e169f3eaa2f6e1b91f2..751824dce4a0f0e502c86acbff21f781016a211c 100644
--- a/app/views/search/_project_results.html.haml
+++ b/app/views/search/_project_results.html.haml
@@ -13,9 +13,12 @@
         = render partial: "search/results/blob", collection: @search_results[:blobs]
         = paginate @search_results[:blobs], theme: 'gitlab'
       - else
-        %span We couldn't find any matching code
+        = render partial: "search/results/empty", :locals => { message: "We couldn't find any matching code" }
   - else
-    %ul.bordered-list
-      = render partial: "search/results/merge_request", collection: @search_results[:merge_requests]
-      = render partial: "search/results/issue", collection: @search_results[:issues]
-      = render partial: "search/results/note", collection: @search_results[:notes]
+    - if (@search_results[:merge_requests] || @search_results[:issues] || @search_results[:notes]).length > 0
+      %ul.bordered-list
+        = render partial: "search/results/merge_request", collection: @search_results[:merge_requests]
+        = render partial: "search/results/issue", collection: @search_results[:issues]
+        = render partial: "search/results/note", collection: @search_results[:notes]
+    - else
+      = render partial: "search/results/empty", :locals => { message: "We couldn't find any issues, merge requests or notes" }
diff --git a/app/views/search/results/_empty.html.haml b/app/views/search/results/_empty.html.haml
new file mode 100644
index 0000000000000000000000000000000000000000..3615f6ae52abd248f46abcd3e0282e67f62f0bf1
--- /dev/null
+++ b/app/views/search/results/_empty.html.haml
@@ -0,0 +1,4 @@
+.search_box
+  .search_glyph
+    %span.icon-search
+  %h4 #{message}