diff --git a/v2.5/toolkit/fastnlotoolkit/fastNLOReader.cc b/v2.5/toolkit/fastnlotoolkit/fastNLOReader.cc
index aa090f458637951e84fa7a366ca0c50849ddb9b4..b292eff6d6632f4448c8332307b9efd3f7c2c19b 100644
--- a/v2.5/toolkit/fastnlotoolkit/fastNLOReader.cc
+++ b/v2.5/toolkit/fastnlotoolkit/fastNLOReader.cc
@@ -1502,7 +1502,7 @@ void fastNLOReader::CalcCrossSectionv21(fastNLOCoeffAddFlex* c) {
       iCIBFlag2 = c->GetCoeffInfoBlockFlag2(iCIBIndex);
       dCIBCont  = c->GetCoeffInfoContent(iCIBIndex);
    } else {
-      logger.info["CalcCrossSectionv21"]<<"No CoeffInfoBlock found; uncertainties are initialised to zero."<<endl;
+      logger.debug["CalcCrossSectionv21"]<<"No CoeffInfoBlock found; uncertainties are initialised to zero."<<endl;
    }
 
    for (unsigned int i=0; i<NObsBin; i++) {
@@ -1618,7 +1618,7 @@ void fastNLOReader::CalcCrossSectionv20(fastNLOCoeffAddFix* c) {
       iCIBFlag2 = c->GetCoeffInfoBlockFlag2(iCIBIndex);
       dCIBCont  = c->GetCoeffInfoContent(iCIBIndex);
    } else {
-      logger.info["CalcCrossSectionv20"]<<"No CoeffInfoBlock found; uncertainties are initialised to zero."<<endl;
+      logger.debug["CalcCrossSectionv20"]<<"No CoeffInfoBlock found; uncertainties are initialised to zero."<<endl;
    }
 
    int scaleVar = c->GetNpow() == ILOord ? 0 : fScalevar;
diff --git a/v2.5/toolkit/fastnlotoolkit/include/fastnlotk/fastNLOTable.h b/v2.5/toolkit/fastnlotoolkit/include/fastnlotk/fastNLOTable.h
index bde76acde18a6c213c738605de8ca079d59488cc..25aec898414950010f91c38813a9cd2118b477f6 100644
--- a/v2.5/toolkit/fastnlotoolkit/include/fastnlotk/fastNLOTable.h
+++ b/v2.5/toolkit/fastnlotoolkit/include/fastnlotk/fastNLOTable.h
@@ -246,10 +246,6 @@ class fastNLOTable {
    /// Returns pointer to reference table if available, else returns NULL pointer
    fastNLOCoeffAddBase* GetReferenceTable(fastNLO::ESMOrder eOrder) const;
 
-   /// Handle InfoBlocks
-   int CreateInfoBlock(int no, fastNLOCoeffBase *newinfoblock);
-
-
 private:
    bool cmp(const double x1, const double x2) const;
    bool cmp(const std::vector<double>& x1, const std::vector<double >& x2) const;
diff --git a/v2.5/toolkit/pyext/Makefile.am b/v2.5/toolkit/pyext/Makefile.am
index c5de0bd90075e85a2500ababf6fc4977b49837e5..5499ed66b5171e60cf80a6f42f2807cd6ff77aa0 100644
--- a/v2.5/toolkit/pyext/Makefile.am
+++ b/v2.5/toolkit/pyext/Makefile.am
@@ -16,7 +16,7 @@ if ENABLE_PYEXT
 python_PYTHON = fastnlo.py
 pyexec_LTLIBRARIES = _fastnlo.la
 
-_fastnlo_la_SOURCES = fastnlo_wrap.cc
+_fastnlo_la_SOURCES = fastnlo_wrap.cc fastnlo_wrap.h
 _fastnlo_la_CPPFLAGS = $(PYTHON_CPPFLAGS) -I$(top_srcdir)/fastnlotoolkit/include/fastnlotk -I$(LHAPDFINCLUDEPATH)
 _fastnlo_la_LDFLAGS = -module -shared -avoid-version
 _fastnlo_la_LIBADD = $(top_srcdir)/fastnlotoolkit/libfastnlotoolkit.la
@@ -29,7 +29,7 @@ fastnlo_wrap.cc: fastnlo.i
 	$(SWIG) -c++ -python -I$(top_srcdir)/fastnlotoolkit/include/fastnlotk -o $@ -MD -MF $(DEPDIR)/fastnlo_wrap.Plo $<
 
 clean-local:
-	rm -f fastnlo_wrap.cc fastnlo.py
+	rm -f fastnlo_wrap.cc fastnlo_wrap.h fastnlo.py
 #$(DEPDIR)/fastnlo_wrap.Plo
 
 endif
diff --git a/v2.5/toolkit/pyext/fastnlo.i b/v2.5/toolkit/pyext/fastnlo.i
index 93536f3757362f3810ebe63cb9418aff40d35063..171cd26715c54093d5093c4e7997734f26fda2d7 100644
--- a/v2.5/toolkit/pyext/fastnlo.i
+++ b/v2.5/toolkit/pyext/fastnlo.i
@@ -1,4 +1,8 @@
-%module fastnlo
+// To be tested: Following suggestion from Dmitry Kalinkin, 12.06.2021
+%module(directors="1") fastnlo
+
+// generate directors for all classes that have virtual methods
+%feature("director");
 
 %{
 /**
@@ -47,7 +51,7 @@ namespace std {
 %}
 %include "../fastnlotoolkit/include/fastnlotk/speaker.h"
 %include "../fastnlotoolkit/include/fastnlotk/fastNLOPDFLinearCombinations.h"
-//%include "../fastnlotoolkit/include/fastnlotk/fastNLOConstants.h"
+%include "../fastnlotoolkit/include/fastnlotk/fastNLOConstants.h"
 %include "../fastnlotoolkit/include/fastnlotk/fastNLOTable.h"
 %include "../fastnlotoolkit/include/fastnlotk/fastNLOReader.h"
 %include "../fastnlotoolkit/include/fastnlotk/fastNLOLHAPDF.h"