diff --git a/main.go b/main.go
index 07fd0735f6e2be9904f3ae2c757574869538cc8b..a574bd8747e46bb11a80dcb2708ff9a60008358a 100644
--- a/main.go
+++ b/main.go
@@ -94,6 +94,14 @@ func main() {
 	issueRegex := regexp.MustCompile("#\\d+\\b")
 	client.Handlers.Add(girc.PRIVMSG, func(client *girc.Client, event girc.Event) {
 		issues := issueRegex.FindAllString(event.Trailing, -1)
+
+		var target string
+		if len(event.Params) > 0 && girc.IsValidChannel(event.Params[0]) {
+			target = event.Params[0]
+		} else {
+			target = event.Source.Name
+		}
+
 		for _, idString := range issues {
 			id, err := strconv.Atoi(idString[1:])
 			if err != nil {
@@ -104,9 +112,9 @@ func main() {
 				continue
 			}
 			if issue.ClosedAt != nil {
-				client.Cmd.Notice(event.Source.Name, fmt.Sprintf("#%d (closed): %s – %s", issue.IID, issue.Title, issue.WebURL))
+				client.Cmd.Notice(target, fmt.Sprintf("#%d (closed): %s – %s", issue.IID, issue.Title, issue.WebURL))
 			} else {
-				client.Cmd.Notice(event.Source.Name, fmt.Sprintf("#%d: %s – %s", issue.IID, issue.Title, issue.WebURL))
+				client.Cmd.Notice(target, fmt.Sprintf("#%d: %s – %s", issue.IID, issue.Title, issue.WebURL))
 			}
 		}
 	})