Index: tol/btol/serie_type/tsrgrav.cpp
===================================================================
--- tol/btol/serie_type/tsrgrav.cpp	(revision ad4a32d30cbaeffe8655e77868329be6d2924dd2)
+++ tol/btol/serie_type/tsrgrav.cpp	(revision 41d79a3f0ac57543f90e67159aea42d123a9df03)
@@ -955,5 +955,5 @@
     else if(dating!=right)
     {
-      if(!dating->IsCompatibleWith(*right))
+      if(!dating->IsCompatibleWith(*right,FirstDate(),LastDate()))
       {
         dating = NULL;
@@ -963,6 +963,14 @@
     {
       BText no_dating = "NO_DATING";
-      BText lName = left ?left ->Identify():no_dating;
-      BText rName = right?right->Identify():no_dating;
+      BText lName = left ?left ->Identify():no_dating+";";
+      BText rName = right?right->Identify():no_dating+";";
+      if(!left->Inf().HasValue() || !right->Sup().HasValue())
+      {
+        lName += BText(" //Expression is finite or has been truncated to interval [")<<left->Inf().Name()+","+left->Sup().Name()+"]";
+      }
+      if(!right->Inf().HasValue() || !right->Sup().HasValue())
+      {
+        rName += BText(" //Expression is finite or has been truncated to interval [")<<right->Inf().Name()+","+right->Sup().Name()+"]";
+      }
       Error(I2("Cannot concat series with incompatible dating or without "
          "dating.",
@@ -970,6 +978,6 @@
          "o sin fechado.")+
       "\nSeries:\n" +
-      LeftSer ()->Identify() + " -> "+lName+";\n"+
-      RightSer()->Identify() + " -> "+rName+";\n");
+      LeftSer ()->Identify() + " -> "+lName+"\n"+
+      RightSer()->Identify() + " -> "+rName+"\n");
     }
     PutDating(dating);
Index: tol/btol/timeset_type/tms.cpp
===================================================================
--- tol/btol/timeset_type/tms.cpp	(revision ad4a32d30cbaeffe8655e77868329be6d2924dd2)
+++ tol/btol/timeset_type/tms.cpp	(revision 41d79a3f0ac57543f90e67159aea42d123a9df03)
@@ -525,6 +525,7 @@
   if(!first.HasValue()) { first = BDate::DefaultFirst(); }
   if(!last .HasValue()) { last	= BDate::DefaultLast (); }
-  BDate d1  = FirstNoGreat(first);
+  BDate d1 = FirstNoGreat(first);
   BDate d2 = tms.FirstNoGreat(first);
+  if(d1!=d2) { return(BFALSE); }
   while(d1<=last)
   {
