diff --git a/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C b/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
index 2db768229d1d1bd8649f1871b1237b3f018dead7..2d5209d7b1a6bba1d62e438b42ff4ce1813cea49 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
+++ b/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
@@ -283,9 +283,18 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::writeData
 
     const scalarField Tfluid(tfluid);
 
-
     // Heat transfer coefficient [W/m2/K]
-    const scalarField htc(qDot/(max(Twall - Tfluid), 1e-3));
+    // This htc needs to be always larger or equal to zero
+    //const scalarField htc(qDot/max(Twall - Tfluid, 1e-3));
+    scalarField htc(qDot.size(), 0);
+    forAll (qDot, i)
+    {
+        scalar deltaT = mag(Twall[i] - Tfluid[i]);
+        if (deltaT > 1e-3)
+        {
+            htc[i] = sign(qDot[i])*qDot[i]/deltaT;
+        }
+    }
 
     const Field<scalar>& magSf = this->patch().magSf();