diff --git a/tests/signal-ptr.cpp b/tests/signal-ptr.cpp
index dc8a0e68abc8c9ba4c733319651bde97b517dfd4..959250f19b43def71d77b11927482ebf01fa5720 100644
--- a/tests/signal-ptr.cpp
+++ b/tests/signal-ptr.cpp
@@ -86,3 +86,19 @@ BOOST_AUTO_TEST_CASE(normal_test) {
   sigPtrBRef.get(cout);
   cout << std::endl;
 }
+
+BOOST_AUTO_TEST_CASE (plug_signal_string)
+{
+  Signal<std::string, int> outSig("output");
+  SignalPtr<std::string, int> inSig (NULL, "input");
+
+  std::string str ("value");
+  outSig.setConstant(str);
+  inSig.plug (&outSig);
+  inSig.recompute(1);
+  std::ostringstream os;
+  inSig.get (os);
+  std::string res (os.str ());
+  // Note that a '\n' is added when passing through the signal
+  BOOST_CHECK (res == str);
+}