diff --git a/ProcessLib/HeatTransportBHE/Tests.cmake b/ProcessLib/HeatTransportBHE/Tests.cmake
index 8148316aa52d17606f0afb762cdee8ba13995561..bb6cb771aa9382488ebfe57ad96efb609be178f4 100644
--- a/ProcessLib/HeatTransportBHE/Tests.cmake
+++ b/ProcessLib/HeatTransportBHE/Tests.cmake
@@ -96,6 +96,20 @@ AddTest(
     beier_sandbox_ts_10_t_600.000000.vtu beier_sandbox_newton_ts_10_t_600.000000.vtu temperature_soil temperature_soil 0 1e-13
 )
 
+AddTest(
+    NAME HeatTransportBHE_1U_3D_beier_sandbox_binary_curve
+    PATH Parabolic/T/3D_Beier_sandbox
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS beier_sandbox_binary_curve.xml
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    RUNTIME 20
+    DIFF_DATA
+    beier_sandbox_ts_10_t_600.000000.vtu beier_sandbox_binary_curve_ts_10_t_600.000000.vtu temperature_BHE1 temperature_BHE1 0 1e-14
+    beier_sandbox_ts_10_t_600.000000.vtu beier_sandbox_binary_curve_ts_10_t_600.000000.vtu temperature_soil temperature_soil 0 1e-12
+)
+
 AddTest(
     NAME HeatTransportBHE_1U_3D_beier_sandbox_algebraicBC
     PATH Parabolic/T/3D_Beier_sandbox
diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/beier_sandbox_binary_curve.xml b/Tests/Data/Parabolic/T/3D_Beier_sandbox/beier_sandbox_binary_curve.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fc46600ba66a3b27486eafdf55241965847257fa
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_Beier_sandbox/beier_sandbox_binary_curve.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProjectDiff base_file="beier_sandbox.prj">
+    <add sel="/*/curves/curve">
+        <read_from_file>true</read_from_file>
+    </add>
+    <replace sel="/*/time_loop/output/prefix/text()">beier_sandbox_binary_curve</replace>
+    <replace sel="/*/curves/curve/coords/text()">inflow_temperature_coords.bin</replace>
+    <replace sel="/*/curves/curve/values/text()">inflow_temperature_values.bin</replace>
+</OpenGeoSysProjectDiff>
diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_coords.bin b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_coords.bin
new file mode 100644
index 0000000000000000000000000000000000000000..0d8885307c32c7b8bbf9e7f450c0a8a2583c67e4
Binary files /dev/null and b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_coords.bin differ
diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_values.bin b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_values.bin
new file mode 100644
index 0000000000000000000000000000000000000000..8e5490107b99a40f7f35dde933e562921e20f0af
Binary files /dev/null and b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_values.bin differ
diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/read_values_from_prj_curve.py b/Tests/Data/Parabolic/T/3D_Beier_sandbox/read_values_from_prj_curve.py
new file mode 100644
index 0000000000000000000000000000000000000000..c487e1cb9f2495ff94b881932401f876de36f79a
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_Beier_sandbox/read_values_from_prj_curve.py
@@ -0,0 +1,31 @@
+import inspect
+import os
+import xml.etree.ElementTree as ET
+
+import numpy as np
+
+file = inspect.getfile(inspect.currentframe())
+prj_path = os.path.split(os.path.realpath(file))[0]
+
+#read prj-data
+tree = ET.parse(prj_path + '/beier_sandbox.prj')
+root = tree.getroot()
+
+curve_elements = root.findall('.//curve')
+for curve in curve_elements:
+
+    curve_name = curve.find('name').text
+
+    # read coordinates
+    coords_element = curve.find('coords')
+    coords_text = coords_element.text #replace("\n", "    ")
+    coords_array = np.fromstring(coords_text, dtype=float, sep='    ')
+    # Store array in binary format
+    coords_array.astype('<f8').tofile(prj_path + f'/{curve_name}_coords.bin') # < - little Endian | f - float | 8 - Bytes equal to 64bit(double)
+
+
+    # read values
+    values_element = curve.find('values')
+    values_text = values_element.text #replace("\n", "    ")
+    values_array = np.fromstring(values_text, dtype=float, sep='    ')
+    values_array.astype('<f8').tofile(prj_path + f'/{curve_name}_values.bin') # < - little Endian | f - float | 8 - Bytes equal to 64bit(double)