diff --git a/debian/changelog b/debian/changelog
index 6ed250f04364295e7f3bb1c859362a04b6d673bc..8635588b77866d6b18e073444c96aac0870dd3cf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+tarantool (1.5.1.302.gd906190-1) unstable; urgency=low
+
+  * New Debian snapshot.
+   - box.session.storage,
+   - bugfixes
+
+ -- Dmitry E. Oboukhov <unera@debian.org>  Mon, 09 Dec 2013 16:23:49 +0400
+
 tarantool (1.5.1.218.g1a69fd6-1) unstable; urgency=low
 
   * New Debian snapshot
diff --git a/src/replica.cc b/src/replica.cc
index dae3e9a063c31cd6615313f38a0aed9d0f9d8d5c..600bdf6c43d41d043e497bfe962e83419ae809bc 100644
--- a/src/replica.cc
+++ b/src/replica.cc
@@ -147,8 +147,23 @@ pull_from_remote(va_list ap)
 				warning_said = true;
 			}
 			evio_close(&coio);
-			fiber_sleep(reconnect_delay);
 		}
+
+		/* Put fiber_sleep() out of catch block.
+		 *
+		 * This is done to avoid situation, when two or more
+		 * fibers yield's inside their try/catch blocks and
+		 * throws an exceptions. Seems like exception unwinder
+		 * stores some global state while being inside a catch
+		 * block.
+		 *
+		 * This could lead to incorrect exception processing
+		 * and crash the server.
+		 *
+		 * See: https://github.com/tarantool/tarantool/issues/136
+		*/
+		if (! evio_is_active(&coio))
+			fiber_sleep(reconnect_delay);
 	}
 }