diff --git a/app/models/service.rb b/app/models/service.rb
index dc76bf925d3d4f40a8e38a7b5a4f90dfbc862f50..cbb7518620698ddb530a42970bfebce04b3bbeea 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -26,6 +26,7 @@ class Service < ActiveRecord::Base
   has_one :service_hook
 
   validates :project_id, presence: true, unless: proc { |service| service.template? }
+  validates :type, presence: true
 
   scope :visible, -> { where.not(type: 'GitlabIssueTrackerService') }
   scope :issue_trackers, -> { where(category: 'issue_tracker') }
diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb
index 0e2f07e945ff94a62eb2f9808a3ebdfaf9ff63ce..f5ba8f76f403fcb8325121082c2ebc12810c4d03 100644
--- a/spec/models/service_spec.rb
+++ b/spec/models/service_spec.rb
@@ -6,6 +6,10 @@ describe Service, models: true do
     it { is_expected.to have_one :service_hook }
   end
 
+  describe 'Validations' do
+    it { is_expected.to validate_presence_of(:type).on(:create) }
+  end
+
   describe "Test Button" do
     before do
       @service = Service.new