diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb
index 53ab2686b43e0c4202a1fc51aedd6ba14a2b9228..3331bd123b2d86c593b445ffd2185530243af521 100644
--- a/lib/gitlab/regex.rb
+++ b/lib/gitlab/regex.rb
@@ -34,12 +34,12 @@ module Gitlab
 
 
     def project_path_regex
-      @project_path_regex ||= /\A[a-zA-Z0-9_.][a-zA-Z0-9_\-\.]*(?<!\.git)\z/.freeze
+      @project_path_regex ||= /\A[a-zA-Z0-9_.][a-zA-Z0-9_\-\.]*(?<!\.git|\.atom)\z/.freeze
     end
 
     def project_path_regex_message
       "can contain only letters, digits, '_', '-' and '.'. " \
-      "Cannot start with '-' or end in '.git'" \
+      "Cannot start with '-', end in '.git' or end in '.atom'" \
     end
 
 
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb
index ad143c14c432a9b50b9c5c6d7f11ca101b3629c5..245cf96d6443812da78c4a0b03044fbf0bee26fb 100644
--- a/spec/controllers/projects_controller_spec.rb
+++ b/spec/controllers/projects_controller_spec.rb
@@ -88,13 +88,10 @@ describe ProjectsController do
     end
 
     context "when the url contains .atom" do
-      let(:public_project_with_dot) { create(:project, :public, name: 'my.atom', path: 'my.atom') }
+      let(:public_project_with_dot_atom) { create(:project, :public, name: 'my.atom', path: 'my.atom') }
 
-      it 'loads a project' do
-        get :show, namespace_id: public_project_with_dot.namespace.path, id: public_project_with_dot.path
-
-        expect(assigns(:project)).to eq(public_project_with_dot)
-        expect(response.status).to eq(200)
+      it 'expect an error creating the project' do
+        expect { public_project_with_dot_atom }.to raise_error(ActiveRecord::RecordInvalid)
       end
     end
   end