diff --git a/secure/misc/twitter.c b/secure/misc/twitter.c
index b749072..af1145c 100644
--- a/secure/misc/twitter.c
+++ b/secure/misc/twitter.c
@@ -81,15 +81,18 @@
 /* Offizielle API funktion
  * xeval "/secure/misc/twitter"->twitter("@_zesstra_ welcome back")
  */
-void twitter(string msg) {
+int twitter(string msg) {
 	int err = 0;
 	if( !allowed() ) {
 		write( "Twitter ist ARCH+Berechtigte only.\n" );
-		return;
+		return 0;
 	}
 	msg = msg + "^" + sig(this_interactive()) + "\n";
-	if (sizeof(msg) > 279)
+	if (sizeof(msg) > 279) {
     write("Tweet ist zu lang.\n");
+    return 0;
+  }
+
   if(interactive(this_object())) {
 		tell_object(this_object(),msg);
 	} else {
@@ -97,8 +100,10 @@
 		caller = this_interactive();
 		if( (err=net_connect(HOST,PORT))!=0 ) {
 			write( "Konnte Tweet nicht senden. err="+err+"\n" );
+      return 0;
 		}
 	}
+  return 1;
 }
 
 // sonderfunktion fuer den fall, dass man die verbindung
diff --git a/secure/misc/twitter_tool.c b/secure/misc/twitter_tool.c
index 5b31e91..22b0b36 100644
--- a/secure/misc/twitter_tool.c
+++ b/secure/misc/twitter_tool.c
@@ -34,10 +34,13 @@
       str = PL->_unparsed_args(0);
       if(!sizeof(str))
         return 0;
-      "/secure/misc/twitter"->twitter(str);
-      this_interactive()->ReceiveMsg(
-        BS(sprintf("Tweet \'%s\' wird gesendet.",str)),
-        MT_NOTIFICATION|MSG_BS_LEAVE_LFS);
+
+      // Der Twitter-Relay gibt Fehlermeldungen selbst aus, d.h. nur bei
+      // Erfolg muessen wir selber etwas ausgeben.
+      if ("/secure/misc/twitter"->twitter(str))
+        this_interactive()->ReceiveMsg(
+          BS(sprintf("Tweet \'%s\' wird gesendet.",str)),
+          MT_NOTIFICATION|MSG_BS_LEAVE_LFS);
       return 1;
     });
 }
