See Video.

I have a Prusa i3 3d Printer DIY Kit RepRap purchased from amazon
from FLSUN. I use Repetier Host with the Slic3r Prusa Edition slicer.

Whenever I try to home the Z-Axis: the nozzle will travel downward, make contact with the limit switch, and either only return upward (let's call this down-up) or return upward followed by another downward movement (down-up-down). If it always returned downward then I wouldn't have any problems, but it happens somewhat unpredictably. It seems as though there's a criteria for how long it takes/ how long to travel to reach the endstop, and if that's too short then it does the down-up-down motion, as seen in the video when I try homing from a very close position (aka the last position after it performs a down-up).

I found only one other person with this issue, but I don't think that my problem is the homing speed, nor did I find any M commands of the sort in my g-code. My next step is to re-upload the newest version of Marlin - I don't entirely remember if I even uploaded the code myself or if the current one existed already on the controller. Before I do that however, I hoped to get some insight on what I could change in the code to avoid those extra movements. I've searched for a while but I haven't had any luck myself, so hopefully someone has had a similar issue with this model or general advice.