diff --git a/blast/tests/dart/t_naca0012_2D_rbf.py b/blast/tests/dart/t_naca0012_2D_rbf.py
index 4cd619edd82278e4ddbec38c4eec2a69cbd02c10..886984803bf76f3ad53f659642c7c07c2652cf9e 100644
--- a/blast/tests/dart/t_naca0012_2D_rbf.py
+++ b/blast/tests/dart/t_naca0012_2D_rbf.py
@@ -128,7 +128,7 @@ def main():
     aeroCoeffs = coupler.run()
     tms['solver_match'].stop()
     cl_match = isol.getCl()
-    cd_match = isol.getCd() + vsol.Cdf
+    cd_match = isol.getCd() + vsol.getCdf()
     vsolution_match = viscUtils.getSolution(vsol.bodies[0].sections, write=False)[0]
 
     del coupler
@@ -143,13 +143,13 @@ def main():
     aeroCoeffs = coupler.run()
     tms['solver_rbf'].stop()
     cl_rbf = isol.getCl()
-    cd_rbf = isol.getCd() + vsol.Cdf
+    cd_rbf = isol.getCd() + vsol.getCdf()
     vsolution_rbf = viscUtils.getSolution(vsol.bodies[0].sections, write=False)[0]
 
     # Display results.
     print(ccolors.ANSI_BLUE + 'PyRes...' + ccolors.ANSI_RESET)
     print('      Re        M    alpha       Cl       Cd      Cdp      Cdf       Cm')
-    print('{0:6.1f}e6 {1:8.2f} {2:8.1f} {3:8.4f} {4:8.4f} {5:8.4f} {6:8.4f} {7:8.4f}'.format(vcfg['Re']/1e6, isol.getMinf(), isol.getAoA()*180/math.pi, isol.getCl(), vsol.Cdt, vsol.Cdp, vsol.Cdf, isol.getCm()))
+    print('{0:6.1f}e6 {1:8.2f} {2:8.1f} {3:8.4f} {4:8.4f} {5:8.4f} {6:8.4f} {7:8.4f}'.format(vcfg['Re']/1e6, isol.getMinf(), isol.getAoA()*180/math.pi, isol.getCl(), vsol.getCdt(), vsol.getCdp(), vsol.getCdf(), isol.getCm()))
 
      # Write results to file.
     vSolution = viscUtils.getSolution(vsol.bodies[0].sections, write=True, toW='all')
diff --git a/blast/tests/t_restart_2D.py b/blast/tests/t_restart_2D.py
index d4df7880f364535e150d3ff5792a465f10857bd3..49eb86f905e401dfc0972128c4a9bd912e1c1a56 100644
--- a/blast/tests/t_restart_2D.py
+++ b/blast/tests/t_restart_2D.py
@@ -112,20 +112,20 @@ def main():
 
     print(ccolors.ANSI_BLUE + 'PySolving...' + ccolors.ANSI_RESET)
     tms['solver'].start()
-    aeroCoeffs_ref = coupler.run()
+    aeroCoeffs_ref = coupler.run(write=False)
     tms['solver'].stop()
 
     del isol, vsol, coupler
 
     vcfg["restart_solution"] = True
     vcfg["restart_inputName"] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))\
-                                + '/workspace/blast_tests_t_restart/'\
+                                + '/workspace/blast_tests_t_restart_2D/'\
                                 + vcfg["restart_outputName"] + f"_{iterRestart}"
-    vcfg["iterSaveRestart"] = float('inf')
+    vcfg["iterSaveRestart"] = float('inf') # Never save restart
 
 
     coupler, isol, vsol = vutils.initBlast(icfg, vcfg)
-    aeroCoeff_restart = coupler.run()
+    aeroCoeff_restart = coupler.run(write=False)
 
     # Save in vtk format
     vutils.save(vsol.bodies[0].sections)
@@ -133,7 +133,7 @@ def main():
     # Display results.
     print(ccolors.ANSI_BLUE + 'PyRes...' + ccolors.ANSI_RESET)
     print('      Re        M    alpha       Cl       Cd      Cdp      Cdf       Cm')
-    print('{0:6.1f}e6 {1:8.2f} {2:8.1f} {3:8.4f} {4:8.4f} {5:8.4f} {6:8.4f} {7:8.4f}'.format(vcfg['Re']/1e6, isol.getMinf(), isol.getAoA()*180/math.pi, isol.getCl(), vsol.Cdt, vsol.Cdp, vsol.Cdf, isol.getCm()))
+    print('{0:6.1f}e6 {1:8.2f} {2:8.1f} {3:8.4f} {4:8.4f} {5:8.4f} {6:8.4f} {7:8.4f}'.format(vcfg['Re']/1e6, isol.getMinf(), isol.getAoA()*180/math.pi, isol.getCl(), vsol.getCdt(), vsol.getCdp(), vsol.getCdf(), isol.getCm()))
     print('')
     total_iters_ref = len(aeroCoeffs_ref['Cl'])
     total_iters_restart = len(aeroCoeff_restart['Cl'])
@@ -148,10 +148,8 @@ def main():
     print('SOLVERS statistics')
     print(coupler.tms)
 
-    bl_solution = vutils.getSolution(vsol.bodies[0].sections, write=False)[0]
-
-    final_res_ref = np.log10((aeroCoeffs_ref['Cd'][-1] - aeroCoeffs_ref['Cd'][-2]) / aeroCoeffs_ref['Cd'][-1])
-    final_res_restart = np.log10((aeroCoeff_restart['Cd'][-1] - aeroCoeff_restart['Cd'][-2]) / aeroCoeff_restart['Cd'][-1])
+    final_res_ref = np.log10(abs((aeroCoeffs_ref['Cd'][-1] - aeroCoeffs_ref['Cd'][-2]) / aeroCoeffs_ref['Cd'][-1]))
+    final_res_restart = np.log10(abs((aeroCoeff_restart['Cd'][-1] - aeroCoeff_restart['Cd'][-2]) / aeroCoeff_restart['Cd'][-1]))
     
     # Test solution
     print(ccolors.ANSI_BLUE + 'PyTesting...' + ccolors.ANSI_RESET)
diff --git a/blast/validation/v_oneraM6_3D.py b/blast/validation/v_oneraM6_3D.py
index 30b4a14e1b69c2a80228647667b3f0a503034f88..44b7f030bc5805d14accc79ec5af688ecdb8ae69 100644
--- a/blast/validation/v_oneraM6_3D.py
+++ b/blast/validation/v_oneraM6_3D.py
@@ -134,7 +134,7 @@ def main():
     # Display results.
     print(ccolors.ANSI_BLUE + 'PyRes...' + ccolors.ANSI_RESET)
     print('      Re        M    alpha       Cl       Cd      Cdp      Cdf       Cm')
-    print('{0:6.1f}e6 {1:8.2f} {2:8.1f} {3:8.4f} {4:8.4f} {5:8.4f} {6:8.4f} {7:8.4f}'.format(vcfg['Re']/1e6, isol.getMinf(), isol.getAoA()*180/math.pi, isol.getCl(), vsol.Cdt, vsol.Cdp, vsol.Cdf, isol.getCm()))
+    print('{0:6.1f}e6 {1:8.2f} {2:8.1f} {3:8.4f} {4:8.4f} {5:8.4f} {6:8.4f} {7:8.4f}'.format(vcfg['Re']/1e6, isol.getMinf(), isol.getAoA()*180/math.pi, isol.getCl(), vsol.getCdt(), vsol.getCdp(), vsol.getCdf(), isol.getCm()))
 
     # Write results to file.
     vSolution = vutils.getSolution(vsol.bodies[0].sections, write=True, toW='all')[0]
@@ -153,8 +153,8 @@ def main():
     print(ccolors.ANSI_BLUE + 'PyTesting...' + ccolors.ANSI_RESET)
     tests = CTests()
     tests.add(CTest('Cl', isol.getCl(), 0.283, 5e-2))
-    tests.add(CTest('Cd wake', vsol.Cdt, 0.0116, 1e-3, forceabs=True))
-    tests.add(CTest('Cd int', isol.getCd() + vsol.Cdf, 0.01965, 1e-3, forceabs=True))
+    tests.add(CTest('Cd wake', vsol.getCdt(), 0.0116, 1e-3, forceabs=True))
+    tests.add(CTest('Cd int', isol.getCd() + vsol.getCdf(), 0.01965, 1e-3, forceabs=True))
     tests.add(CTest('Iterations', len(aeroCoeffs['Cl']), 13, 0, forceabs=True))
     tests.run()