diff --git a/.rubocop.yml b/.rubocop.yml
index 877f0c2d45aa54a430ed98ffc9668707fbcacb60..c27c84911264885ff23fc93e3dc47c938e3c790a 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -394,7 +394,7 @@ Style/MutableConstant:
 
 # Favor unless over if for negative conditions (or control flow or).
 Style/NegatedIf:
-  Enabled: false
+  Enabled: true
 
 # Favor until over while for negative conditions.
 Style/NegatedWhile:
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb
index 6829dc91cb9130876a1a0f5c3a3cf2fb5740ab02..adb652922085d211e23d9588dc4ff9ae26a250d1 100644
--- a/app/models/ci/runner.rb
+++ b/app/models/ci/runner.rb
@@ -60,7 +60,7 @@ def assign_to(project, current_user = nil)
     end
 
     def display_name
-      return short_sha unless !description.blank?
+      return short_sha if description.blank?
 
       description
     end
diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb
index 7410442609d33fc58d900867fb878876119c8466..299a0a967b068e9a29be379436e6f8cf730b88d5 100644
--- a/app/services/git_tag_push_service.rb
+++ b/app/services/git_tag_push_service.rb
@@ -23,7 +23,7 @@ def build_push_data
     commits = []
     message = nil
 
-    if !Gitlab::Git.blank_ref?(params[:newrev])
+    unless Gitlab::Git.blank_ref?(params[:newrev])
       tag_name = Gitlab::Git.ref_name(params[:ref])
       tag = project.repository.find_tag(tag_name)
       if tag && tag.target == params[:newrev]
diff --git a/app/services/projects/housekeeping_service.rb b/app/services/projects/housekeeping_service.rb
index 3b7c36f0908b61526836c6ef4a93ebad8a138326..43db29315a166cb3b2360765831a7c5e6220ff2d 100644
--- a/app/services/projects/housekeeping_service.rb
+++ b/app/services/projects/housekeeping_service.rb
@@ -22,7 +22,7 @@ def initialize(project)
     end
 
     def execute
-      raise LeaseTaken if !try_obtain_lease
+      raise LeaseTaken unless try_obtain_lease
 
       GitlabShellOneShotWorker.perform_async(:gc, @project.path_with_namespace)
     ensure
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 124d63ce3ac9b59301d4ca966510eeb6376e9c07..436751b9d168f86b7b4ae3feb84efb189e5c964c 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -52,7 +52,7 @@ def build_gitlab_url
     # check that values in `current` (string or integer) is a contant in `modul`.
     def verify_constant_array(modul, current, default)
       values = default || []
-      if !current.nil?
+      unless current.nil?
         values = []
         current.each do |constant|
           values.push(verify_constant(modul, constant, nil))
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index e4b4760c53b5859df38403101ed08bbb9aac2ac5..026a5ac97caf3841e6ce61dc3fcc71523aa3adfc 100644
--- a/lib/ci/gitlab_ci_yaml_processor.rb
+++ b/lib/ci/gitlab_ci_yaml_processor.rb
@@ -265,7 +265,7 @@ def validate_job_artifacts!(name, job)
     end
 
     def validate_job_dependencies!(name, job)
-      if !validate_array_of_strings(job[:dependencies])
+      unless validate_array_of_strings(job[:dependencies])
         raise ValidationError, "#{name} job: dependencies parameter should be an array of strings"
       end