diff --git a/source/KKRnano/source/ProcessKKRresults_mod.F90 b/source/KKRnano/source/ProcessKKRresults_mod.F90
index bd9c3084a90ffe8f5f4e38d2953590b68e20d2e9..c3ed1dd5f76008c634de9039ce6dfa065af0aead 100644
--- a/source/KKRnano/source/ProcessKKRresults_mod.F90
+++ b/source/KKRnano/source/ProcessKKRresults_mod.F90
@@ -1172,11 +1172,11 @@ module ProcessKKRresults_mod
             calc%noco_data%moment_z(atom_id)
         irec = irec + 1
       endif
+      if (params%noncobfield) then
+        write(unit=r1fu, rec=irec) calc%bfields(ila)%bfield_constr
+        irec = irec + 1
+      end if
     end do
-    if (params%noncobfield) then
-      write(unit=r1fu, rec=irec) calc%bfields(ila)%bfield_constr
-      irec = irec + 1
-    end if
 
     close(r1fu)
 
diff --git a/source/KKRnano/source/bfield/torque.f90 b/source/KKRnano/source/bfield/torque.f90
index 0e8ea2183cd73be8808a304d44fca9ab9eb02978..7a3a704f3ea44d9ddf998d881cea034c08d7a296 100644
--- a/source/KKRnano/source/bfield/torque.f90
+++ b/source/KKRnano/source/bfield/torque.f90
@@ -161,7 +161,7 @@ contains
     ! Scf-cycle for constraint fields, based either on torque or on fields alone
     if (lbfield_constr .and. itscf0 <= iteration .and. iteration <= itscf1) then
       if (constr_mode == 3) then
-        bfield%bfield_constr(:) = bfield%bfield_constr(:) - torque(:) / mag_mom_len
+        bfield%bfield_constr(:) = bfield%bfield_constr(:) - bfield%mag_torque(:) / mag_mom_len
       else if (constr_mode == 2) then
         old_b_constr = bfield%bfield_constr(:)
         bfield%bfield_constr(:) = old_b_constr - dot_product(old_b_constr,dir)*dir - &