diff --git a/src/signal/signal-caster.cpp b/src/signal/signal-caster.cpp
index 0c203c9cc1515e77c708883f31861e3dfb25c153..5cb9aac27c5f8446e68372f07c5101430c847e7a 100644
--- a/src/signal/signal-caster.cpp
+++ b/src/signal/signal-caster.cpp
@@ -89,8 +89,10 @@ any SignalCaster::cast(const type_info& type, istringstream& iss) {
 
 	if ( it == functions_.end() )
 	  {
+	    std::string msg("type " + std::string(type_name) +
+			    " not in functions_ map.");
 	    throw ExceptionSignal(ExceptionSignal::BAD_CAST,
-				  "caster not in functions_ map.");
+				  msg);
 	  }
 	//TODO: throw "cast not registered" exception
 	return (*it).second.get<1>()(iss); // call cast function (tuple index 1)