diff --git a/memory/src/ram.c b/memory/src/ram.c
index 39f442a6abee2795534bc20e2d95c5225c6ad8fe..444c73cb126562ff90a9daecb34deadf900cf33a 100644
--- a/memory/src/ram.c
+++ b/memory/src/ram.c
@@ -103,7 +103,8 @@ unsigned char ram_in_window(unsigned short int start_reg,unsigned short int reg_
   unsigned short int end_reg=start_reg+reg_length-1;
   unsigned short int end_address=start_address+address_length-1;
 
-  if((start_reg>=start_address && start_reg<=end_address) || (end_reg>=start_address && end_reg<=end_address))
+  if((start_reg>=start_address && start_reg<=end_address) || (end_reg>=start_address && end_reg<=end_address) ||
+     (start_address>=start_reg && start_address<=end_reg))
     return 0x01;
   else
     return 0x00;