Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs =================================================================== diff -u -rf9b356c4654ac261a1ec41255f872dcaba9ac7a6 -r5762f5a734abc237f01cd62257cedd7ba2e9c8e8 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision f9b356c4654ac261a1ec41255f872dcaba9ac7a6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision 5762f5a734abc237f01cd62257cedd7ba2e9c8e8) @@ -259,16 +259,24 @@ /// Thrown when the entry point or exit point is invalid. private static void ReadEntryExitPoint(ReadPipingCalculation readCalculation, PipingCalculationScenario pipingCalculation) { - if (readCalculation.EntryPointL.HasValue) + bool hasEntryPoint = readCalculation.EntryPointL.HasValue; + bool hasExitPoint = readCalculation.ExitPointL.HasValue; + + if (readCalculation.SurfaceLine == null && (hasEntryPoint || hasExitPoint)) { + throw new CriticalFileValidationException(Resources.PipingConfigurationImporter_ReadSurfaceLine_EntryPointL_or_ExitPointL_defined_without_SurfaceLine); + } + + if (hasEntryPoint) + { var entryPoint = (double) readCalculation.EntryPointL; PerformActionHandlingAnyArgumentOutOfRangeException( () => pipingCalculation.InputParameters.EntryPointL = (RoundedDouble) entryPoint, string.Format(Resources.PipingConfigurationImporter_ReadEntryExitPoint_Entry_point_invalid, entryPoint)); } - if (readCalculation.ExitPointL.HasValue) + if (hasExitPoint) { var exitPoint = (double) readCalculation.ExitPointL;