diff --git a/ptx_nmasks.cc b/ptx_nmasks.cc
index 947ef8682d5509d9b73ce2efe9fcd796ae88375a..f09aafc5844594690c1acb0efd7e1a2abf73cf54 100644
--- a/ptx_nmasks.cc
+++ b/ptx_nmasks.cc
@@ -42,17 +42,18 @@ void nmasks()
   Counter counter(seeds[0],stline);
   counter.initialise();
   Seedmanager seedmanager(counter);
+  
 
-  for(unsigned int i=0;i<seeds.size();i++){
-    stline.clear_waymasks();
+  for(unsigned int i=0;i<seeds.size();i++){ 
     tmpvol=0;
-    for(unsigned int j=0;j<seeds.size();j++){
+    for(unsigned int j=0;j<seeds.size();j++)
       if(j!=i)
-	tmpvol += seeds[j];
-      //	stline.add_waymask(seeds[j]);
-    }
+	tmpvol+=seeds[j];
+    if(i<=1)
+      stline.pop_waymasks();
     stline.add_waymask(tmpvol);
 
+    cout << "Tracking from mask " << i+1 << endl;
     for(int z=0;z<seeds[i].zsize();z++){
       for(int y=0;y<seeds[i].ysize();y++){
 	for(int x=0;x<seeds[i].xsize();x++){
diff --git a/streamlines.cc b/streamlines.cc
index b9253373132710c6905efe47ca3e9c0b8508d687..dc8d6855e6301b2fef054336c8bf2d4873207664 100644
--- a/streamlines.cc
+++ b/streamlines.cc
@@ -201,17 +201,9 @@ namespace TRACT{
     
     bool accept_path=true;
     if(m_passed_flags.size()!=0){
-      if(!opts.network.value()){
-	for(unsigned int i=0; i<m_passed_flags.size();i++)
-	  if(!m_passed_flags[i])
-	    accept_path=false;
-      }
-      else{
-	accept_path=false;
-	for(unsigned int i=0; i<m_passed_flags.size();i++)
-	  if(m_passed_flags[i])
-	    accept_path=true;
-      }
+      for(unsigned int i=0; i<m_passed_flags.size();i++)
+	if(!m_passed_flags[i])
+	  accept_path=false;
     }   
     if(rubbish_passed)
       accept_path=false;
@@ -627,7 +619,7 @@ namespace TRACT{
     //onewayonly for mesh things..
     cout <<x<<" "<<y<<" "<<z<<endl;
     if(fibst == -1){
-      fibst=m_seeds(int(round(x)),int(round(y)),int(round(z)))-1;//fibre to start with is taken from seed volume..
+      fibst=0;//m_seeds(int(round(x)),int(round(y)),int(round(z)))-1;//fibre to start with is taken from seed volume..
     }
     if(opts.randfib.value()){
       float tmp=rand()/RAND_MAX * float(m_stline.nfibres()-1);
diff --git a/streamlines.h b/streamlines.h
index 1fef0a56c396ef066b9d8a0e671562902e942bf3..37ce57a7a796548eeb2d8e1029c9421f983ed414 100644
--- a/streamlines.h
+++ b/streamlines.h
@@ -69,6 +69,7 @@ namespace TRACT{
 	pop_waymasks();
     }
 
+
     inline int nfibres() const {return vols.nfibres();}
     inline const float get_x_seed() const {return m_x_s_init;}
     inline const float get_y_seed() const {return m_y_s_init;}