diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 1fbce23648212c90ee0f65b8674d4fdfccbac73c..d005b3ea975b422bcbb5bd5082c5b1061b085de8 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,3 +1,9 @@
+Changes in Release 2.x
+--------------------------------------------------------------------------------
+
+ * Use the newer voronota implementation as default in CAD-score binding
+ * Several minor bug fixes and improvements.
+
 Changes in Release 2.0.0
 --------------------------------------------------------------------------------
 
diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake
index 3b6821210f742eefd36ca60cef70bc4674c6a41f..7d6ff14ef327bbbf46a089f692f7971676717ff1 100644
--- a/cmake_support/OST.cmake
+++ b/cmake_support/OST.cmake
@@ -442,14 +442,15 @@ endmacro()
 #   ui_to_python(libname stagedir[input_file1 ...])
 # Description:
 #   Calls pyuic on every input file. The resulting python files are stored in
-#   the variable with name out_files.
+#   the variable with name out_files. Use with care. Has originally been 
+#   implemented for pyuic4 and ported to pyuic5 without testing. 
 #-------------------------------------------------------------------------------
 macro(ui_to_python LIBNAME PYMODDIR STAGEDIR)
   set(_input_files ${ARGN})
   add_custom_target("${LIBNAME}_ui" ALL)
   add_dependencies("_${LIBNAME}" "${LIBNAME}_ui")
   find_program(_PYUIC_EXECUTABLE
-    NAMES pyuic4-${PYTHON_VERSION} pyuic4 pyuic pyuic4.bat
+    NAMES pyuic5-${PYTHON_VERSION} pyuic5 pyuic pyuic5.bat
     PATHS  ENV PATH 
   )  
   if(NOT _PYUIC_EXECUTABLE)
@@ -503,7 +504,8 @@ endmacro()
 #
 # Description:
 #  Define a python module consisting of C++ type wrappers and/or code written in 
-#  Python.
+#  Python. user_interface_files are handled with ui_to_python that has blindly
+#  been ported from QT4 to QT5 without testing. Use with care.
 # NAME is the name of
 #-------------------------------------------------------------------------------
 macro(pymod)
diff --git a/modules/bindings/pymod/cadscore.py b/modules/bindings/pymod/cadscore.py
index 5d931b04fc865c3f28264de4f5fe9be944ebd741..7ecf79874e65ae912f5b4e189f7a6e61e8edade2 100644
--- a/modules/bindings/pymod/cadscore.py
+++ b/modules/bindings/pymod/cadscore.py
@@ -263,7 +263,7 @@ def _MapLabels(model, cad_results, label):
                          "could not be found in model.")
     r.SetFloatProp(label, v)
 
-def CADScore(model, reference, mode = "classic", label = "localcad",
+def CADScore(model, reference, mode = "voronota", label = "localcad",
              old_regime = False, cad_bin_path = None):
   """
   Calculates global and local atom-atom (AA) CAD Scores. 
diff --git a/modules/seq/base/doc/seq.rst b/modules/seq/base/doc/seq.rst
index dec35ea21c04484d3637559652cc3d4f3013f5e3..e210687d102b159c1196596f9ac759846f807115 100644
--- a/modules/seq/base/doc/seq.rst
+++ b/modules/seq/base/doc/seq.rst
@@ -755,7 +755,8 @@ probabilities between Match, Insertion or Deletion states or neff values
     :type to:  :class:`int`
 
     :returns: sub-profile as defined by given indices
-              (:attr:`null_model` is copied)
+              (:attr:`null_model` and :attr:`neff` are copied,
+              you might want to manually reset neff)
     :rtype: :class:`ProfileHandle`
 
     :raises: :exc:`~exceptions.Error` if *to* <= *from* or
diff --git a/modules/seq/base/src/profile_handle.cc b/modules/seq/base/src/profile_handle.cc
index 8a4582620d95644a4ec842e2c56c3e9682685ff9..80b4565838f3ac0c888a766c0fa2be36635bb8a1 100644
--- a/modules/seq/base/src/profile_handle.cc
+++ b/modules/seq/base/src/profile_handle.cc
@@ -149,6 +149,7 @@ ProfileHandlePtr ProfileHandle::Extract(uint from, uint to) const {
   // get subset to return
   ProfileHandlePtr return_prof(new ProfileHandle);
   return_prof->SetNullModel(null_model_);
+  return_prof->SetNeff(neff_);
   for (uint i = from; i < to; ++i) {
     return_prof->AddColumn(columns_[i], seq_[i]);
   }