diff --git a/Code/Seg/IPOLdemo/mainIPOL.cpp b/Code/Seg/IPOLdemo/mainIPOL.cpp
index 5413561a26a39df4ab742ef778cb7f3b4fcf73c7..6b3f10bb4c2e73c2c315103a481e206a01c012c2 100755
--- a/Code/Seg/IPOLdemo/mainIPOL.cpp
+++ b/Code/Seg/IPOLdemo/mainIPOL.cpp
@@ -19,7 +19,7 @@ void usage(std::string str)
 
 int main (int argc, char *argv[])
 {
-  if (argc < 3)
+  if (argc < 4)
   {
     usage(argv[0]);
     exit(EXIT_FAILURE);
@@ -33,9 +33,10 @@ int main (int argc, char *argv[])
   string inpoints_filename = "";
   ifstream fin;  
   bool with_points = false;
-  if (argc == 4)
+  double widthBS = atof(argv[3]);
+  if (argc == 5)
   {
-    inpoints_filename = argv[3];
+    inpoints_filename = argv[4];
     fin.open (inpoints_filename.c_str(), std::fstream::in);
     with_points = true;
   }
@@ -100,6 +101,8 @@ int main (int argc, char *argv[])
   vector<BlurredSegment *> bss;
   BSDetector detector;
   detector.setGradientMap (gMap);
+  detector.setFineTracksMaxWidth (widthBS);
+
   if (with_points)
   {
     vector<Pt2i>::iterator pit = pts.begin ();