StatusNotifierCommand::StatusNotifierCommand(
         const string &status_notifier_cmd
 ) :
-    CommandStr( status_notifier_cmd )
+    CommandStr( status_notifier_cmd ),
+    CommandStrOriginal( status_notifier_cmd )
 {
 }
 
     BOOST_ASSERT( !token.empty() );
     BOOST_ASSERT( !value.empty() );
 
+    // use a fresh copy of the original string where token is not replaced yet
+    CommandStr = CommandStrOriginal;
+
     const size_t token_begin_pos = CommandStr.find( token );
     if ( token_begin_pos == string::npos )
     {
 
     /// The command string used to notify the status
     std::string CommandStr;
 
+    /// The original command before token replacement
+    std::string CommandStrOriginal;
+
 };
 
 //-----------------------------------------------------------------------------