diff --git a/templates/repo/issue/view_content.tmpl b/templates/repo/issue/view_content.tmpl
index f6572d4965..78587ac7b6 100644
--- a/templates/repo/issue/view_content.tmpl
+++ b/templates/repo/issue/view_content.tmpl
@@ -44,18 +44,7 @@
 							{{end}}
 						</div>
 						<div class="comment-header-right actions gt-df gt-ac">
-							{{if gt .Issue.ShowRole 0}}
-								{{if (.Issue.ShowRole.HasRole "Writer")}}
-									<div class="ui basic label role-label">
-										{{$.locale.Tr "repo.issues.collaborator"}}
-									</div>
-								{{end}}
-								{{if (.Issue.ShowRole.HasRole "Owner")}}
-									<div class="ui basic label role-label">
-										{{$.locale.Tr "repo.issues.owner"}}
-									</div>
-								{{end}}
-							{{end}}
+							{{template "repo/issue/view_content/show_role" dict "ShowRole" .Issue.ShowRole "IgnorePoster" true}}
 							{{if not $.Repository.IsArchived}}
 								{{template "repo/issue/view_content/add_reaction" dict "ctxData" $ "ActionURL" (printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index)}}
 								{{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" .Issue "delete" false "issue" true "diff" false "IsCommentPoster" $.IsIssuePoster}}
diff --git a/templates/repo/issue/view_content/comments.tmpl b/templates/repo/issue/view_content/comments.tmpl
index 57756e36b9..6f2117b0d5 100644
--- a/templates/repo/issue/view_content/comments.tmpl
+++ b/templates/repo/issue/view_content/comments.tmpl
@@ -50,21 +50,7 @@
 							{{end}}
 						</div>
 						<div class="comment-header-right actions gt-df gt-ac">
-							{{if (.ShowRole.HasRole "Poster")}}
-								<div class="ui basic label">
-									{{$.locale.Tr "repo.issues.poster"}}
-								</div>
-							{{end}}
-							{{if (.ShowRole.HasRole "Writer")}}
-								<div class="ui basic label">
-									{{$.locale.Tr "repo.issues.collaborator"}}
-								</div>
-							{{end}}
-							{{if (.ShowRole.HasRole "Owner")}}
-								<div class="ui basic label">
-									{{$.locale.Tr "repo.issues.owner"}}
-								</div>
-							{{end}}
+							{{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}}
 							{{if not $.Repository.IsArchived}}
 								{{template "repo/issue/view_content/add_reaction" dict "ctxData" $ "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}}
 								{{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" true "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}}
@@ -442,25 +428,11 @@
 								</span>
 							</div>
 							<div class="comment-header-right actions gt-df gt-ac">
-									{{if (.ShowRole.HasRole "Poster")}}
-										<div class="ui basic label">
-												{{$.locale.Tr "repo.issues.poster"}}
-										</div>
-									{{end}}
-									{{if (.ShowRole.HasRole "Writer")}}
-										<div class="ui basic label">
-												{{$.locale.Tr "repo.issues.collaborator"}}
-										</div>
-									{{end}}
-									{{if (.ShowRole.HasRole "Owner")}}
-										<div class="ui basic label">
-												{{$.locale.Tr "repo.issues.owner"}}
-										</div>
-									{{end}}
-									{{if not $.Repository.IsArchived}}
-											{{template "repo/issue/view_content/add_reaction" dict "ctxData" $ "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}}
-											{{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" false "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}}
-									{{end}}
+								{{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}}
+								{{if not $.Repository.IsArchived}}
+									{{template "repo/issue/view_content/add_reaction" dict "ctxData" $ "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}}
+									{{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" false "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}}
+								{{end}}
 							</div>
 						</div>
 						<div class="ui attached segment comment-body">
@@ -567,21 +539,7 @@
 																</span>
 															</div>
 															<div class="comment-header-right actions gt-df gt-ac">
-																{{if (.ShowRole.HasRole "Poster")}}
-																	<div class="ui basic label">
-																		{{$.locale.Tr "repo.issues.poster"}}
-																	</div>
-																{{end}}
-																{{if (.ShowRole.HasRole "Writer")}}
-																	<div class="ui basic label">
-																		{{$.locale.Tr "repo.issues.collaborator"}}
-																	</div>
-																{{end}}
-																{{if (.ShowRole.HasRole "Owner")}}
-																	<div class="ui basic label">
-																		{{$.locale.Tr "repo.issues.owner"}}
-																	</div>
-																{{end}}
+																{{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}}
 																{{if not $.Repository.IsArchived}}
 																	{{template "repo/issue/view_content/add_reaction" dict "ctxData" $ "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}}
 																	{{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" true "issue" true "diff" true "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}}
diff --git a/templates/repo/issue/view_content/show_role.tmpl b/templates/repo/issue/view_content/show_role.tmpl
new file mode 100644
index 0000000000..f85f43bd66
--- /dev/null
+++ b/templates/repo/issue/view_content/show_role.tmpl
@@ -0,0 +1,15 @@
+{{if and (.ShowRole.HasRole "Poster") (not .IgnorePoster)}}
+	<div class="ui basic label role-label">
+		{{ctx.Locale.Tr "repo.issues.poster"}}
+	</div>
+{{end}}
+{{if (.ShowRole.HasRole "Writer")}}
+	<div class="ui basic label role-label">
+		{{ctx.Locale.Tr "repo.issues.collaborator"}}
+	</div>
+{{end}}
+{{if (.ShowRole.HasRole "Owner")}}
+	<div class="ui basic label role-label">
+		{{ctx.Locale.Tr "repo.issues.owner"}}
+	</div>
+{{end}}