diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go
index fb7a25d5..4e6e5652 100644
--- a/bridge/slack/helpers.go
+++ b/bridge/slack/helpers.go
@@ -291,6 +291,7 @@ var (
 	channelRE        = regexp.MustCompile(`<#[a-zA-Z0-9]+\|(.+?)>`)
 	variableRE       = regexp.MustCompile(`<!((?:subteam\^)?[a-zA-Z0-9]+)(?:\|@?(.+?))?>`)
 	urlRE            = regexp.MustCompile(`<(.*?)(\|.*?)?>`)
+	codeFenceRE      = regexp.MustCompile(`(?m)^` + "```" + `\w+$`)
 	topicOrPurposeRE = regexp.MustCompile(`(?s)(@.+) (cleared|set)(?: the)? channel (topic|purpose)(?:: (.*))?`)
 )
 
@@ -353,6 +354,10 @@ func (b *Bslack) replaceURL(text string) string {
 	return text
 }
 
+func (b *Bslack) replaceCodeFence(text string) string {
+	return codeFenceRE.ReplaceAllString(text, "```")
+}
+
 func (b *Bslack) handleRateLimit(err error) error {
 	rateLimit, ok := err.(*slack.RateLimitedError)
 	if !ok {
diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go
index d8dfc62f..b9430278 100644
--- a/bridge/slack/slack.go
+++ b/bridge/slack/slack.go
@@ -188,6 +188,8 @@ func (b *Bslack) Send(msg config.Message) (string, error) {
 		b.Log.Debugf("=> Receiving %#v", msg)
 	}
 
+	msg.Text = b.replaceCodeFence(msg.Text)
+
 	// Make a action /me of the message
 	if msg.Event == config.EventUserAction {
 		msg.Text = "_" + msg.Text + "_"