diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index 3b89089f68c45e5de460bb7deb5a1617b269b748..9c62b69ab67f3758a3ba158c3ed631ca0bba7688 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -5,7 +5,7 @@ from tools import trace, timer
 
 class Data(object):
     def __init__(self, status = None):
-        super(Data, self).__init()
+        super(Data, self).__init__()
 
         self._status = status
 
@@ -17,7 +17,7 @@ class Data(object):
         self._cote = 0.0
         self._tiran = 0.0
 
-    def __getitems__(self, key):
+    def __getitem__(self, key):
         val = None
 
         if key == "name":
@@ -35,7 +35,7 @@ class Data(object):
 
         return val
 
-    def __setitems__(self, key, value):
+    def __setitem__(self, key, value):
         if key == "name":
             self._name = str(value)
         elif key == "comment":
diff --git a/src/Model/InitialConditions/InitialConditionsDict.py b/src/Model/InitialConditions/InitialConditionsDict.py
index dedabac2287662c01394b7a64f442f461e854b64..71d707d07af230f0f5fb419451af4fbdf5a3f48b 100644
--- a/src/Model/InitialConditions/InitialConditionsDict.py
+++ b/src/Model/InitialConditions/InitialConditionsDict.py
@@ -34,3 +34,4 @@ class InitialConditionsDict(object):
     def new(self, reach):
         new = InitialConditions(reach = reach, status = self._status)
         self.set(reach, new)
+        return new
diff --git a/src/View/InitialConditions/UndoCommand.py b/src/View/InitialConditions/UndoCommand.py
index 32bff72617fa1a248e0a3130f9ea90f792237d81..8482bd9a245374bef56268e2f069e3862466d20d 100644
--- a/src/View/InitialConditions/UndoCommand.py
+++ b/src/View/InitialConditions/UndoCommand.py
@@ -16,14 +16,15 @@ class SetCommand(QUndoCommand):
 
         self._ics = ics
         self._row = row
+        self._column = column
         self._old = self._ics.get(self._row)[column]
         self._new = new_value
 
     def undo(self):
-        self._ics.get(self._row)[column] = self._old
+        self._ics.get(self._row)[self._column] = self._old
 
     def redo(self):
-        self._ics.get(self._row)[column] = self._new
+        self._ics.get(self._row)[self._column] = self._new
 
 class AddCommand(QUndoCommand):
     def __init__(self, ics, index):
diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py
index dbf22ec4c31793face53c6ecc4cce2a629801cb1..3a52b1edb55ad997676497ecc022c8943bf252c2 100644
--- a/src/View/InitialConditions/Window.py
+++ b/src/View/InitialConditions/Window.py
@@ -131,7 +131,7 @@ class InitialConditionsWindow(ASubMainWindow, ListedSubWindow):
 
     def add(self):
         rows = self.index_selected_rows()
-        if self._ics.len(tab) == 0 or len(rows) == 0:
+        if len(self._ics) == 0 or len(rows) == 0:
             self._table.add(0)
         else:
             self._table.add(rows[0])