diff --git a/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v b/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v
index 23c6c1ad68dfd6c1ed42498bb5cb77a5d0448f03..75b465a9ab9b6a11f02487734f4f2bccc7b51475 100644
--- a/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v
+++ b/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v
@@ -424,6 +424,7 @@ module nanosoc_region_sysio #(
   // Interrupt outputs
     .apbsubsys_interrupt (SYS_APB_IRQ),
     .watchdog_interrupt  (SYS_NMI),
+    
    // reset output
     .watchdog_reset      (WDOGRESETREQ)
   );
diff --git a/software/common/demos/watchdog_demo.c b/software/common/demos/watchdog_demo.c
index 9c574f5535f5279479ce287b3fa15eef54086ca8..3dcf0a60fd8c5e5491f2ac3d273ed64f2d78c168 100644
--- a/software/common/demos/watchdog_demo.c
+++ b/software/common/demos/watchdog_demo.c
@@ -158,11 +158,11 @@ void main_prog_part_1(void)
     }
   }
   puts("\n- Program watchdog for 10000 cycles");
-  watchdog_init(10000, 1); /* Generate NMI */
   nmi_occurred = 0;
   nmi_expected = 0;
   puts("- Run loop with watchdog set regularly 10 times\n");
   i = 0;
+  watchdog_init(10000, 1); /* Generate NMI */
   while (i<10) {
     read_data = CMSDK_WATCHDOG->VALUE;
     if (read_data < 8000) //the threshold must be large enough so that the NMI interrupt