diff --git a/app/models/route.rb b/app/models/route.rb
index d40214b9da6ac93904ce7ebbb4b0352d353ae511..caf596efa79627bca90455150e15dca27be730e2 100644
--- a/app/models/route.rb
+++ b/app/models/route.rb
@@ -13,7 +13,7 @@ class Route < ActiveRecord::Base
   def rename_children
     # We update each row separately because MySQL does not have regexp_replace.
     # rubocop:disable Rails/FindEach
-    Route.where('path LIKE ?', "#{path_was}%").each do |route|
+    Route.where('path LIKE ?', "#{path_was}/%").each do |route|
       # Note that update column skips validation and callbacks.
       # We need this to avoid recursive call of rename_children method
       route.update_column(:path, route.path.sub(path_was, path))
diff --git a/changelogs/unreleased/dz-fix-route-rename.yml b/changelogs/unreleased/dz-fix-route-rename.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a649fb169a57ea088ed8481039a4c157e4f2c7a3
--- /dev/null
+++ b/changelogs/unreleased/dz-fix-route-rename.yml
@@ -0,0 +1,4 @@
+---
+title: Fix Route#rename_children behavior
+merge_request: 
+author: 
diff --git a/spec/models/route_spec.rb b/spec/models/route_spec.rb
index 6f491fdf9a0a298eedd8dd522670fbcea4aaccd1..8481a9bef1632a81f6126b9de20798fb700ef043 100644
--- a/spec/models/route_spec.rb
+++ b/spec/models/route_spec.rb
@@ -1,7 +1,7 @@
 require 'spec_helper'
 
 describe Route, models: true do
-  let!(:group) { create(:group) }
+  let!(:group) { create(:group, path: 'gitlab') }
   let!(:route) { group.route }
 
   describe 'relationships' do
@@ -17,13 +17,15 @@ describe Route, models: true do
   describe '#rename_children' do
     let!(:nested_group) { create(:group, path: "test", parent: group) }
     let!(:deep_nested_group) { create(:group, path: "foo", parent: nested_group) }
+    let!(:similar_group) { create(:group, path: 'gitlab-org') }
 
-    it "updates children routes with new path" do
-      route.update_attributes(path: 'bar')
+    before { route.update_attributes(path: 'bar') }
 
+    it "updates children routes with new path" do
       expect(described_class.exists?(path: 'bar')).to be_truthy
       expect(described_class.exists?(path: 'bar/test')).to be_truthy
       expect(described_class.exists?(path: 'bar/test/foo')).to be_truthy
+      expect(described_class.exists?(path: 'gitlab-org')).to be_truthy
     end
   end
 end