diff --git a/Fltk/onelabGroup.cpp b/Fltk/onelabGroup.cpp
index 44b0b03b4a1d351776d0c3412202b0a68de699e1..5f65a877ebe07cb843dc3131e2740f29a1c62dd6 100644
--- a/Fltk/onelabGroup.cpp
+++ b/Fltk/onelabGroup.cpp
@@ -1034,8 +1034,10 @@ static void view_group_cb(Fl_Widget *w, void *data)
 {
   if(!data) return;
   std::string group((char*)data);
-  if(group.front() == '/') group = group.substr(1);
-  if(group.back() == '/') group.pop_back();
+  while(group.size() && group[0] == '/')
+    group = group.substr(1);
+  while(group.size() && group[group.size() - 1] == '/')
+    group = group.substr(0, group.size() - 1);
   for(unsigned int i = 0; i < PView::list.size(); i++){
     PViewOptions *opt = PView::list[i]->getOptions();
     if(opt->group.find(group) == 0)