diff --git a/time_tracer.h b/time_tracer.h
index 4946b434c40c91c26f30eca3857c9e89023828a6..171453bb7c0e10a09d3dcf52f51929026c182400 100644
--- a/time_tracer.h
+++ b/time_tracer.h
@@ -82,9 +82,18 @@ namespace Utilities{
   class Time_Tracer
     {
     public:
+      Time_Tracer(const char* str)
+	{
+	  construct(str);
+	}
+
       Time_Tracer(char* str)
-	{		  
-	  
+	{		  	  
+	  construct(str);
+	}
+
+      void construct(const char* str)
+	{
 	  if(instantstack || runningstack)
 	    {
 	      stk.push(string(str));
@@ -117,7 +126,7 @@ namespace Utilities{
 	      timingFunction->start();
 	    }
 	}
-	
+
       virtual ~Time_Tracer() 
 	{ 
 	  if(instantstack)
diff --git a/tracer_plus.h b/tracer_plus.h
index 594bc58f44226796baae3559613413e36b3058e6..786837977e72cd3de7e5907f81998c8ec0fa9fe0 100644
--- a/tracer_plus.h
+++ b/tracer_plus.h
@@ -26,6 +26,12 @@ namespace Utilities {
   class Tracer_Plus : public Tracer, public Time_Tracer
     {
     public:
+      Tracer_Plus(const char* str) : 
+	Tracer(const_cast<char*>(str)),
+	Time_Tracer(str)
+	{		
+	}
+
       Tracer_Plus(char* str) : 
 	Tracer(str),
 	Time_Tracer(str)