diff --git a/applications/reconstruct/src/main.cpp b/applications/reconstruct/src/main.cpp
index 536daee44ad85087ba852abac94d119526ec77fa..9f547454f102e4e7f6791a1551e49a0ff94e115a 100644
--- a/applications/reconstruct/src/main.cpp
+++ b/applications/reconstruct/src/main.cpp
@@ -99,8 +99,10 @@ static void run(ftl::Configurable *root) {
 
 			LOG(INFO) << "Found " << (max_stream+1) << " sources in " << path;
 
+			int N = root->value("N", 100);
+
 			// For each stream found, add a source object
-			for (int i=0; i<=max_stream; ++i) {
+			for (int i=0; i<=min(max_stream,N-1); ++i) {
 				root->getConfig()["sources"].push_back(nlohmann::json{{"uri",std::string("file://") + path + std::string("#") + std::to_string(i)}});
 			}
 		}