diff --git a/app/models/topic_link.rb b/app/models/topic_link.rb
index 98eefbcd81e..aafaff14b58 100644
--- a/app/models/topic_link.rb
+++ b/app/models/topic_link.rb
@@ -123,9 +123,11 @@ class TopicLink < ActiveRecord::Base
 
           if Discourse.store.has_been_uploaded?(url)
             internal = Discourse.store.internal?
-          elsif parsed.host == Discourse.current_hostname || !parsed.host
+          elsif (parsed.host == Discourse.current_hostname && parsed.path.start_with?(Discourse.base_uri)) || !parsed.host
             internal = true
 
+            parsed.path.slice!(Discourse.base_uri)
+
             route = Rails.application.routes.recognize_path(parsed.path)
 
             # We aren't interested in tracking internal links to users