diff --git a/config.go b/config.go
index 5d0e27ef134d5cd5d1ed50331eaf533db794560b..9849e693e338b0c5a805f7e6f11428fff558cbfb 100644
--- a/config.go
+++ b/config.go
@@ -84,5 +84,6 @@ func getTemplateData(monitor *AbstractMonitor) map[string]interface{} {
 		"SystemName": monitor.config.SystemName,
 		"API":        monitor.config.API,
 		"Monitor":    monitor,
+		"now":        time.Now().Format(monitor.config.DateFormat),
 	}
 }
diff --git a/http.go b/http.go
index eaa0ad3fd37613be5c6e2ba745fe21c8794531e4..53067d6fef087a13463177605dc0dc078aa81c49 100644
--- a/http.go
+++ b/http.go
@@ -15,14 +15,14 @@ import (
 // Investigating template
 var defaultHTTPInvestigatingTpl = MessageTemplate{
 	Subject: `{{ .Monitor.Name }} - {{ .SystemName }}`,
-	Message: `{{ .Name }} check **failed** - {{ .now }}
+	Message: `{{ .Monitor.Name }} check **failed** - {{ .now }}
 
-{{ .lastFailReason }}`,
+{{ .FailReason }}`,
 }
 
 // Fixed template
 var defaultHTTPFixedTpl = MessageTemplate{
-	Subject: `{{ .Name }} - {{ .config.SystemName }}`,
+	Subject: `{{ .Monitor.Name }} - {{ .SystemName }}`,
 	Message: `**Resolved** - {{ .now }}
 
 - - -
diff --git a/monitor.go b/monitor.go
index 41d3352cd53f92505b262914b69d9e0827d269b3..93493de5340745fa44aa8452b98fa65c464d62df 100644
--- a/monitor.go
+++ b/monitor.go
@@ -192,7 +192,10 @@ func (mon *AbstractMonitor) AnalyseData() {
 
 	if triggered && mon.incident == nil {
 		// create incident
-		subject, message := mon.Template.Investigating.Exec(getTemplateData(mon))
+		tplData := getTemplateData(mon)
+		tplData["FailReason"] = mon.lastFailReason
+
+		subject, message := mon.Template.Investigating.Exec(tplData)
 		mon.incident = &Incident{
 			Name:        subject,
 			ComponentID: mon.ComponentID,
diff --git a/template.go b/template.go
index 48f7666777c10e99bd049fb4b3168dba05c0c449..31a09b0c5799210393c3b33db7a2e2dd38001376 100644
--- a/template.go
+++ b/template.go
@@ -3,8 +3,6 @@ package cachet
 import (
 	"bytes"
 	"text/template"
-
-	"github.com/Sirupsen/logrus"
 )
 
 type MessageTemplate struct {
@@ -39,13 +37,14 @@ func (t *MessageTemplate) Compile() error {
 }
 
 func (t *MessageTemplate) Exec(data interface{}) (string, string) {
-	buf := new(bytes.Buffer)
+	return t.exec(t.subjectTpl, data), t.exec(t.messageTpl, data)
+}
 
-	logrus.Warnf("%#v", t.subjectTpl)
-	t.subjectTpl.Execute(buf, data)
-	subject := buf.String()
+func (t *MessageTemplate) exec(tpl *template.Template, data interface{}) string {
+	buf := new(bytes.Buffer)
 
-	return subject, ""
+	tpl.Execute(buf, data)
+	return buf.String()
 }
 
 func compileTemplate(text string) (*template.Template, error) {