textstr + matchStart,
 #else
                     textstr.data() + matchStart,
-#endif 
+#endif
                     countRepl ? wxRE_NOTBOL : 0
                     WXREGEX_IF_NEED_LEN(textlen - matchStart)) )
     {
                     }
                     else
                     {
+                        textNew += wxString(
 #ifndef WXREGEX_CONVERT_TO_MB
-                        textNew += wxString(textstr + matchStart + start,
+                                textstr
 #else
-                        textNew += wxString(textstr.data() + matchStart +
-                                           start,
+                                textstr.data()
 #endif
-                                            *wxConvCurrent, len);
+                                + matchStart + start,
+                                *wxConvCurrent, len);
 
                         mayHaveBackrefs = true;
                     }
 #ifndef WXREGEX_CONVERT_TO_MB
         result.append(*text, matchStart, start);
 #else
-        result.append(wxString(textstr.data() + matchStart, *wxConvCurrent, 
-                              start));
+        result.append(wxString(textstr.data() + matchStart, *wxConvCurrent, start));
 #endif
         matchStart += start;
         result.append(textNew);