+diff -u -r ../openssh-7.1p1/mux.c ./mux.c
+--- ../openssh-7.1p1/mux.c 2015-08-21 00:49:03.000000000 -0400
++++ ./mux.c 2015-12-17 19:20:36.368902909 -0500
+@@ -1295,6 +1295,22 @@
+ }
+
+ /* Now atomically "move" the mux socket into position */
++#ifdef __ANDROID__
++ /* Android does not support hard links, so use a non-atomic
++ check-then-rename for now. */
++ if (access(orig_control_path, F_OK) == 0) {
++ error("ControlSocket %s already exists, disabling multiplexing",
++ orig_control_path);
++ unlink(options.control_path);
++ goto disable_mux_master;
++ } else {
++ if (rename(options.control_path, orig_control_path) == -1) {
++ fatal("%s: link mux listener %s => %s: %s", __func__,
++ options.control_path, orig_control_path,
++ strerror(errno));
++ }
++ }
++#else
+ if (link(options.control_path, orig_control_path) != 0) {
+ if (errno != EEXIST) {
+ fatal("%s: link mux listener %s => %s: %s", __func__,
+@@ -1307,6 +1324,7 @@
+ goto disable_mux_master;
+ }
+ unlink(options.control_path);
++#endif
+ free(options.control_path);
+ options.control_path = orig_control_path;
+