diff --git a/lang/cat.l b/lang/cat.l
index 1d9180fcc..5761c87cc 100644
--- a/lang/cat.l
+++ b/lang/cat.l
@@ -1650,6 +1650,10 @@ CHAN_LIST_END
 # CLIST responses
 CHAN_INVITE_SYNTAX
 	INVITE canal
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/de.l b/lang/de.l
index ce698b352..a9ca48137 100644
--- a/lang/de.l
+++ b/lang/de.l
@@ -1654,6 +1654,10 @@ CHAN_LIST_END
 # CLIST responses
 CHAN_INVITE_SYNTAX
 	INVITE Channel
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/en_us.l b/lang/en_us.l
index 2c44a2629..32dd938da 100644
--- a/lang/en_us.l
+++ b/lang/en_us.l
@@ -1619,6 +1619,11 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE channel
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
+	
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/es.l b/lang/es.l
index f87797773..eb55ff1a5 100644
--- a/lang/es.l
+++ b/lang/es.l
@@ -1648,6 +1648,10 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE canal
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/fr.l b/lang/fr.l
index 2004a618a..5f7d4cc3c 100644
--- a/lang/fr.l
+++ b/lang/fr.l
@@ -1659,6 +1659,10 @@ CHAN_LIST_END
 # CLIST responses
 CHAN_INVITE_SYNTAX
 	INVITE canal
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/gr.l b/lang/gr.l
index 6ce7a29bf..0bba35446 100644
--- a/lang/gr.l
+++ b/lang/gr.l
@@ -1652,6 +1652,10 @@ CHAN_LIST_END
 # CLIST responses
 CHAN_INVITE_SYNTAX
 	INVITE êáíÜëé
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/hun.l b/lang/hun.l
index b1153c098..dec2d83e4 100644
--- a/lang/hun.l
+++ b/lang/hun.l
@@ -1647,6 +1647,10 @@ CHAN_LIST_END
 # INVITE válaszok
 CHAN_INVITE_SYNTAX
 	INVITE #szoba
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN válaszok
 CHAN_UNBAN_SYNTAX
diff --git a/lang/it.l b/lang/it.l
index 4b25ef333..e6ae60437 100644
--- a/lang/it.l
+++ b/lang/it.l
@@ -1629,6 +1629,10 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE canale
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/nl.l b/lang/nl.l
index 57db2c0fa..86f70b72a 100644
--- a/lang/nl.l
+++ b/lang/nl.l
@@ -1645,6 +1645,10 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE kanaal
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/pl.l b/lang/pl.l
index dfbb7a4c0..721836298 100644
--- a/lang/pl.l
+++ b/lang/pl.l
@@ -2151,6 +2151,10 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE kana³
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/pt.l b/lang/pt.l
index d0181eb1b..1d69cb1c7 100644
--- a/lang/pt.l
+++ b/lang/pt.l
@@ -1639,6 +1639,10 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE canal
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/ru.l b/lang/ru.l
index 33d8089af..8539af53b 100644
--- a/lang/ru.l
+++ b/lang/ru.l
@@ -1619,6 +1619,10 @@ CHAN_LIST_END
 # INVITE responses
 CHAN_INVITE_SYNTAX
 	INVITE #êàíàë
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/lang/tr.l b/lang/tr.l
index 5b47d1f97..1b767ce40 100644
--- a/lang/tr.l
+++ b/lang/tr.l
@@ -1647,6 +1647,10 @@ CHAN_LIST_END
 # CLIST responses
 CHAN_INVITE_SYNTAX
 	INVITE kanaladý
+CHAN_INVITE_ALREADY_IN
+	You are already in %s! 
+CHAN_INVITE_SUCCESS
+	You have been invited to %s.
 
 # UNBAN responses
 CHAN_UNBAN_SYNTAX
diff --git a/src/core/cs_invite.c b/src/core/cs_invite.c
index 2ce12508e..6d6d19a26 100644
--- a/src/core/cs_invite.c
+++ b/src/core/cs_invite.c
@@ -64,8 +64,13 @@ class CommandCSInvite : public Command
 			return MOD_CONT;
 		}
 
-		ircdproto->SendInvite(whosends(ci), chan, u->nick);
-		// XXX: maybe send a message about it succeeding.
+		if (is_on_chan(c, u))
+			notice_lang(s_ChanServ, u, CHAN_INVITE_ALREADY_IN, c->name);
+		else
+		{
+			ircdproto->SendInvite(whosends(ci), chan, u->nick);
+			notice_lang(s_ChanServ, u, CHAN_INVITE_SUCCESS, c->name);
+		}
 		return MOD_CONT;
 	}
 
