diff --git a/TODO.md b/TODO.md
index 82a5e7a248950364bac40b12c316889f0cb824bc..94c4bd096a70809f133c192a38f587267f838e1e 100644
--- a/TODO.md
+++ b/TODO.md
@@ -3,13 +3,12 @@
 
 ## TODO
 1. Write "Help" documentation
-2. Add schedulability checks
+2. Add schedulability checks *Maybe*
 
 ## FIXED
 1. Fix issue with taskset not arranging correctly when tasks are added before scheduling algorithm is choosen. *FIXED*
-2. EDF is implemented poorly. It is wrong when sorting by priority (when time till deadline is equal). *Think it works fine now*
-3. Fix Strategy-based priority assignment *- WORKS CORRECTLY?*
-4. Make space between buttons on left and the taskset-list. *- FIXED BUT NEEDS REVISITING*
+2. Fix Strategy-based priority assignment *FIXED*
+3. Make space between buttons on left and the taskset-list. *FIXED*
 
 ## SUGGESTIONS
 *- Add Task, Change Task, Remove Task på samma rad*
@@ -27,6 +26,4 @@ Bort med alla 3 knapparna, lägg ett "+"-tecken under den task som är längst n
 
 *- File-menyn ändra till "Save As..." och "Open File..." eller "Open Project...". Ta bort Close, det är redundant*
 
-- Hover-funktion på typ allt i guit där det efter 1 sek dyker upp en liten bubbla som förklarar vad det man hoverar är för något. Användarvänligt
-
 *- Påminnelse ifall man inte vill spara projektet innan man stänger ned programmet, ifall man ändrat något. Detta görs enkelt om du håller reda på states med historik*
diff --git a/strategy/EDF.java b/strategy/EDF.java
index 2d4726bbcc83489764b96ad522ee3d755e6edeaf..e10316b58a62c9d0a3b2741e56c729086a509b62 100644
--- a/strategy/EDF.java
+++ b/strategy/EDF.java
@@ -19,8 +19,9 @@ public class EDF extends QueueStrategy {
         // (compares distance to deadline first and then priority)
         Comparator<Integer> order = 
             (Integer i1, Integer i2) -> {
-                int res = ts.getTask(i1).get().deadline() - time % ts.getTask(i1).get().deadline() - 
-                            (ts.getTask(i2).get().deadline() - time % ts.getTask(i2).get().deadline());
+                int res = 
+                    (time / ts.getTask(i1).get().period()) * ts.getTask(i1).get().period() + ts.getTask(i1).get().deadline() - time - 
+                    ((time / ts.getTask(i2).get().period()) * ts.getTask(i2).get().period() + ts.getTask(i2).get().deadline() - time);
                 if ( res == 0 ) return i1 - i2;
                 else return res;
             };