diff --git a/src/simudator/core/modules/memory.py b/src/simudator/core/modules/memory.py
index 163d1f7f51a351dd247275dc18900502700eacbe..775f76f2b3773014e89cf69010ce0e4047117cea 100644
--- a/src/simudator/core/modules/memory.py
+++ b/src/simudator/core/modules/memory.py
@@ -23,10 +23,10 @@ class Memory(Module):
 
         # signals
         signals = {
-                "in_input": input_signal,
-                "in_control": control_signal,
-                "in_address": address_signal,
-                "out_content": output_signal
+            "in_input": input_signal,
+            "in_control": control_signal,
+            "in_address": address_signal,
+            "out_content": output_signal,
         }
 
         # Init super class
@@ -54,11 +54,7 @@ class Memory(Module):
         adr_sig = self.signals["in_address"]
         ctrl_sig = self.signals["in_control"]
         out_sig = self.signals["out_content"]
-        if (
-
-            adr_sig.get_value() is not None
-            and ctrl_sig.get_value() is not None
-        ):
+        if adr_sig.get_value() is not None and ctrl_sig.get_value() is not None:
             self.is_write = ctrl_sig.get_value()
             self.current_address = adr_sig.get_value()
             out_sig.update_value(self.memory[self.current_address])
@@ -98,12 +94,15 @@ class Memory(Module):
         for i in range(len(self.memory)):
             self.memory[i] = 0
 
-    def get_longest_line_len(self, ignore_keys=[]) -> int:
+    def get_longest_line_len(self, ignore_keys=None) -> int:
         """
         Helper function for pretty_print that returns the length of
         the longest value in the memory to print for a module.
         """
 
+        if ignore_keys is None:
+            ignore_keys = []
+
         longest_memory_line = 0
 
         for value in self.memory:
diff --git a/src/simudator/processor/mia/gui/mia_memory_graphic.py b/src/simudator/processor/mia/gui/mia_memory_graphic.py
index 303ddb8d9cccd9b2e53139c4b9de9fe0fdb26766..ec29b7717ebc86efe8b0762dc07f3abef6ca34a1 100644
--- a/src/simudator/processor/mia/gui/mia_memory_graphic.py
+++ b/src/simudator/processor/mia/gui/mia_memory_graphic.py
@@ -2,6 +2,7 @@ import ast
 
 from qtpy.QtCore import Slot
 from qtpy.QtWidgets import (
+    QErrorMessage,
     QGraphicsRectItem,
     QGraphicsSimpleTextItem,
     QTextEdit,
@@ -28,6 +29,7 @@ class MiaMemoryGraphicsItem(MemoryGraphicsItem):
     def __init__(self, memory_module: Memory, **kwargs):
         super().__init__(memory_module, **kwargs)
         self.memory_window = None
+        self._errorMessageWidget = QErrorMessage()
 
     def draw_graphics_item(self) -> None:
         # Same as normal memory but no control signal
@@ -94,9 +96,9 @@ class MiaMemoryGraphicsItem(MemoryGraphicsItem):
                 module_name, str(parsed_address), str(parsed_value)
             )
         except SyntaxError as e:
-            self.errorMessageWidget.showMessage(str(e))
+            self._errorMessageWidget.showMessage(str(e))
         except ValueError:
-            self.errorMessageWidget.showMessage(
+            self._errorMessageWidget.showMessage(
                 "You must enter a hexadecimal" "number preceeded by '0x' (e.g." "0xc3)."
             )
 
@@ -106,16 +108,27 @@ class MiaMemoryGraphicsItem(MemoryGraphicsItem):
         Same as prent function but also prases data so it is hexadecimal.
         """
         try:
-            parsed_address = int(address, 16)
+            parsed_adress = int(address, 16)
             parsed_value = ast.literal_eval(value)
         except SyntaxError as e:
-            self.errorMessageWidget.showMessage(str(e))
+            self._errorMessageWidget.showMessage(str(e))
         except ValueError:
-            self.errorMessageWidget.showMessage(
+            self._errorMessageWidget.showMessage(
                 "You must enter a hexadecimal" "number preceeded by '0x' (e.g." "0xc3)."
             )
         else:
             module_state = self.module.get_state()
-            module_state['memory'][parsed_address] = parsed_value
+            try:
+                if parsed_adress < 0:
+                    raise IndexError
+                module_state['memory'][parsed_adress] = parsed_value
+            except IndexError:
+                self._errorMessageWidget.showMessage(
+                    "Address entered was outside the memory space. Adress must be between 0 and 0xff."
+                )
+            else:
+                self.module.set_state(module_state)
+                self.update_graphics_signal.emit()
+            module_state['memory'][parsed_adress] = parsed_value
             self.module.set_state(module_state)
             self.update_graphics_signal.emit()