diff --git a/bilby/core/sampler/dynesty.py b/bilby/core/sampler/dynesty.py
index 8944d43d2046f007a8dca6f7d1712fe14d7492ed..60f3746a4e1783834a3080069c9b22fe8de2d737 100644
--- a/bilby/core/sampler/dynesty.py
+++ b/bilby/core/sampler/dynesty.py
@@ -166,9 +166,15 @@ class Dynesty(NestedSampler):
         self.sampling_time = datetime.timedelta()
         self.exit_code = exit_code
 
-        signal.signal(signal.SIGTERM, self.write_current_state_and_exit)
-        signal.signal(signal.SIGINT, self.write_current_state_and_exit)
-        signal.signal(signal.SIGALRM, self.write_current_state_and_exit)
+        try:
+            signal.signal(signal.SIGTERM, self.write_current_state_and_exit)
+            signal.signal(signal.SIGINT, self.write_current_state_and_exit)
+            signal.signal(signal.SIGALRM, self.write_current_state_and_exit)
+        except AttributeError:
+            logger.debug(
+                "Setting signal attributes unavailable on this system. "
+                "This is likely the case if you are running on a Windows machine"
+                " and is no further concern.")
 
     def __getstate__(self):
         """ For pickle: remove external_sampler, which can be an unpicklable "module" """