There is a global timeout. If for some reason, all engines doesn't response before the global timeout, there is no result.
Usually it's work on the second try because the HTTPS connection are already established (which may be not the case on the first try).
One idea to avoid the annoying refresh : if there is no result before the global timeout, searx could wait longer.