diff --git a/CEP/BB/BBS3/src/BBS3.cc b/CEP/BB/BBS3/src/BBS3.cc
index bdf7eb061fd85be0d4170b4c0d721c338425de49..122e975f6e18d84a8cbb35536380406089ba2331 100644
--- a/CEP/BB/BBS3/src/BBS3.cc
+++ b/CEP/BB/BBS3/src/BBS3.cc
@@ -52,9 +52,9 @@ void readMSTimes(const string& fileName, double& startTime, double& endTime,
 		 double& interval)
 {
   // Get meta data from description file.
-  string name(fileName+"/vis.des");
+  string name(fileName+".des");
   std::ifstream istr(name.c_str());
-  ASSERTSTR (istr, "File " << fileName << "/vis.des could not be opened");
+  ASSERTSTR (istr, "File " << fileName << ".des could not be opened");
   BlobIBufStream bbs(istr);
   BlobIStream bis(bbs);
   bis.getStart("ms.des");
diff --git a/CEP/BB/BBS3/src/BlackBoardDemo.cc b/CEP/BB/BBS3/src/BlackBoardDemo.cc
index 6de8c4925613747b81d9814b71dae7ef9c4c1135..fadd9aa7c047b775c2bba80bcc26e4cf4ef9fd6e 100644
--- a/CEP/BB/BBS3/src/BlackBoardDemo.cc
+++ b/CEP/BB/BBS3/src/BlackBoardDemo.cc
@@ -106,7 +106,7 @@ void BlackBoardDemo::define(const KeyValueMap& params_depr)
     // Create the Workholders and Steps
     pdID = i2string(pdNo);
 
-    WH_Prediff predWH("Prediff"+pdID, pdNo);
+    WH_Prediff predWH("Prediff"+pdID, pdID);
 
     int index = pdNo - 1;
     itsPDSteps[index] = new Step(predWH, "prediffer"+pdID);
diff --git a/CEP/BB/BBS3/src/WH_Prediff.cc b/CEP/BB/BBS3/src/WH_Prediff.cc
index 5fabfe11b22fc1232b7b90aff7c8dafbff7d4c37..a0a61e3169562e2b251f0a37c67859bc348b405f 100644
--- a/CEP/BB/BBS3/src/WH_Prediff.cc
+++ b/CEP/BB/BBS3/src/WH_Prediff.cc
@@ -37,7 +37,7 @@
 namespace LOFAR
 {
 
-WH_Prediff::WH_Prediff(const string& name, int id)
+WH_Prediff::WH_Prediff(const string& name, const string& id)
   : WorkHolder   (2, 3, name, "WH_Prediff"),
     itsID        (id),
     itsFirstCall (true)
@@ -241,7 +241,7 @@ Prediffer* WH_Prediff::getPrediffer(int id, const ParameterSet& args,
 
     string modelType = args.getString("modelType");
     bool calcUVW = args.getBool("calcUVW");
-    string msName = args.getString("MSName");
+    string msName = args.getString("MSName")+ "_p" + itsID;
 
     vector<vector<int> > srcgrp;
     getSrcGrp (args, srcgrp);
diff --git a/CEP/BB/BBS3/src/WH_Prediff.h b/CEP/BB/BBS3/src/WH_Prediff.h
index 1217bbe974409f89cd90fa8cc56fc06fd5878c86..1a5c723f462ab0f0a0527ce4a3de900f8fab444e 100644
--- a/CEP/BB/BBS3/src/WH_Prediff.h
+++ b/CEP/BB/BBS3/src/WH_Prediff.h
@@ -49,7 +49,7 @@ class WH_Prediff : public LOFAR::WorkHolder
 {
  public:
   // Construct the workholder and give it a name
-  explicit WH_Prediff(const string& name, int id);
+  explicit WH_Prediff(const string& name, const string& id);
   
   // Destructor
   virtual ~WH_Prediff();
@@ -89,7 +89,7 @@ class WH_Prediff : public LOFAR::WorkHolder
   // Read a parameter solution
   void readSolution(int id, vector<ParmData>& solVec);
 
-  int          itsID;         // Identification number
+  string       itsID;         // Identification number
   ParameterSet itsArgs;       // Arguments
   PrediffMap   itsPrediffs;   // Map of Prediffer objects, each associated
   // with a strategy (controller)