diff --git a/userprog/populate_stack.c b/userprog/populate_stack.c
index 36acb8c912794da28d82ce53ce5614a7d6e86178..d66e30eacb75d47585caa2543ee804045e150484 100644
--- a/userprog/populate_stack.c
+++ b/userprog/populate_stack.c
@@ -24,25 +24,27 @@ void populate_stack(void* stack_pointer, int argc, char** argv) {
 		memcpy(*stack_pointer, argv[i], strlen(argv[i]) + 1);
 	}
 
-	*stack_pointer = move_stack_pointer(*stack_pointer, -4); //Moves the stack pointer back 4
+    move_stack_pointer(*stack_pointer, -4); //Moves the stack pointer back 4
 
 	(*(int *)(*stack_pointer)) = 0;//sentinel          
 	i = argc;
 
 	while (--i >= 0)
 	{
-		*stack_pointer = move_stack_pointer(*stack_pointer, -4); //32bit  Moves the stack pointer back 4
+		move_stack_pointer(*stack_pointer, -4); //32bit  Moves the stack pointer back 4
 
 		(*(uint32_t **)(*stack_pointer)) = arr[i];
 	}
-
-	*stack_pointer = move_stack_pointer(*stack_pointer, -4);
-
-	(*(uintptr_t  **)(*stack_pointer)) = *stack_pointer = move_stack_pointer(*stack_pointer, 4); //Moves the stack pointer forwards 4
-	*stack_pointer = move_stack_pointer(*stack_pointer, -4); //Moves the stack pointer back 4
+	
+	move_stack_pointer(*stack_pointer, -4);
+    move_stack_pointer(*stack_pointer, 4); //Moves the stack pointer forwards 4
+    // TODO: Test if still required in later version
+    
+	(*(uintptr_t  **)(*stack_pointer)) = *stack_pointer
+	move_stack_pointer(*stack_pointer, -4); //Moves the stack pointer back 4
 
 	*(int *)(*stack_pointer) = argc;
-	*stack_pointer = move_stack_pointer(*stack_pointer, -4); //Moves the stack pointer back 4
+	move_stack_pointer(*stack_pointer, -4); //Moves the stack pointer back 4
 
 	(*(int *)(*stack_pointer)) = 0;
 }