diff --git a/app/logical/d_text.rb b/app/logical/d_text.rb
index eb560687b..002cbb933 100644
--- a/app/logical/d_text.rb
+++ b/app/logical/d_text.rb
@@ -103,7 +103,8 @@ class DText
def self.parse_id_links(str)
str = str.gsub(/\bpost #(\d+)/i, %{post #\\1})
str = str.gsub(/\bforum #(\d+)/i, %{forum #\\1})
- str = str.gsub(/\btopic #(\d+)(?:\/p(\d+))?/i, %{topic #\\1})
+ str = str.gsub(/\btopic #(\d+)(?!\/p\d|\d)/i, %{topic #\\1})
+ str = str.gsub(/\btopic #(\d+)\/p(\d+)/i, %{topic #\\1/p\\2})
str = str.gsub(/\bcomment #(\d+)/i, %{comment #\\1})
str = str.gsub(/\bpool #(\d+)/i, %{pool #\\1})
str = str.gsub(/\buser #(\d+)/i, %{user #\\1})