diff --git a/SpectrumAWG/labscript_devices.py b/SpectrumAWG/labscript_devices.py
index 4ea4fdead161cda9657d3c422aaf6605cf0752e8..4dd15247dab759ac20f5e76cf0bc0d98663f35d5 100644
--- a/SpectrumAWG/labscript_devices.py
+++ b/SpectrumAWG/labscript_devices.py
@@ -110,7 +110,9 @@ class AWGOutput(Output):
     def do_checks(self):
         for t,instruction in self.instructions.items():
             if instruction[0]>self.parent_device.max_sample_size:
-                raise LabscriptError(f"Instruction for '{self.name}' at t={t} has too many samples (num_samples={instruction[0]:.0f}).")
+                raise LabscriptError(f"Instruction for '{self.name}' at t={t} has too many samples (num_samples={instruction[0]:.0f}). The maximum is {self.parent_device.max_sample_size} with your settings.")
+            elif instruction[0] <= 0:
+                 raise LabscriptError(f"Instruction for '{self.name}' at t={t} has too short sample length. The minimum is {4096/self.parent_device.sample_rate*1e9}ns.")
             
 
 
@@ -150,7 +152,7 @@ class SpectrumAWG(Device):
 
         # Calculate maximal sample size
         internal_memory = 2**32 # 4GB
-        self.max_sample_size = internal_memory//2//memory_segments # TODO: according to the messages in the worker we don't need the factor 2 here
+        self.max_sample_size = internal_memory//2//memory_segments
 
     def do_checks(self):
         if len(self.child_devices)>1: