diff --git a/bnb/edmonds_karp.cpp b/bnb/edmonds_karp.cpp
index b35a000da3952ca4823487ca1435d0995aa23feb..6da766dd9b336f9cbcffc184feebd8a2026169ab 100644
--- a/bnb/edmonds_karp.cpp
+++ b/bnb/edmonds_karp.cpp
@@ -41,7 +41,7 @@ std::pair<int, node_id> edmonds_karp::bfs(std::vector<int> &resid_flow, std::vec
 
 	pred.clear();
 	pred.resize(g_.num_nodes() + 1, -1); // undiscovered nodes are marked with -1
-	std::vector<int> gain(g_.num_nodes(), 0);
+	std::vector<int> gain(g_.num_nodes() + 1, 0);
 	bool sink_reached = false;
 	node_id sink;