diff --git a/proof/proof/src/TDSet.cxx b/proof/proof/src/TDSet.cxx
index b8268e9695533f1667852cd0547532a6b42136b8..028d1bcc9271b1f722f8b194f65874d719d35cf0 100644
--- a/proof/proof/src/TDSet.cxx
+++ b/proof/proof/src/TDSet.cxx
@@ -247,10 +247,9 @@ void TDSetElement::Validate(TDSetElement *elem)
       return;
    }
 
-   const char *name = TUrl(GetFileName()).GetFileAndOptions();
-   const char *elemname = TUrl(elem->GetFileName()).GetFileAndOptions();
-
-   if (!strcmp(name, elemname) &&
+   TString name = TUrl(GetFileName()).GetFileAndOptions();
+   TString elemname = TUrl(elem->GetFileName()).GetFileAndOptions();
+   if ((name == elemname) &&
        !strcmp(GetDirectory(), elem->GetDirectory()) &&
        !strcmp(GetObjName(), elem->GetObjName())) {
       Long64_t entries = elem->fFirst + elem->fNum;