diff --git a/applications/reconstruct/src/ilw/ilw.cpp b/applications/reconstruct/src/ilw/ilw.cpp
index 121ee2f00a0e842cc6658781211177d137632cea..737a67d3834944a26ec0c2736f030e4370f637ab 100644
--- a/applications/reconstruct/src/ilw/ilw.cpp
+++ b/applications/reconstruct/src/ilw/ilw.cpp
@@ -14,7 +14,11 @@ using ftl::rgbd::Format;
 using cv::cuda::GpuMat;
 
 ILW::ILW(nlohmann::json &config) : ftl::Configurable(config) {
+    enabled_ = value("ilw_align", true);
 
+    on("ilw_align", [this](const ftl::config::Event &e) {
+        enabled_ = value("ilw_align", true);
+    });
 }
 
 ILW::~ILW() {
@@ -22,6 +26,8 @@ ILW::~ILW() {
 }
 
 bool ILW::process(ftl::rgbd::FrameSet &fs, cudaStream_t stream) {
+    if (!enabled_) return false;
+
     _phase0(fs, stream);
 
     //for (int i=0; i<2; ++i) {
diff --git a/applications/reconstruct/src/ilw/ilw.hpp b/applications/reconstruct/src/ilw/ilw.hpp
index 5dbcdb7338fcd530e9d09b3ea40b93f79c895b8e..06a8f0d2332d847e86d0033684b59698bcf980bd 100644
--- a/applications/reconstruct/src/ilw/ilw.hpp
+++ b/applications/reconstruct/src/ilw/ilw.hpp
@@ -59,6 +59,7 @@ class ILW : public ftl::Configurable {
     bool _phase2(ftl::rgbd::FrameSet &fs, float rate, cudaStream_t stream);
 
     std::vector<detail::ILWData> data_;
+    bool enabled_;
 };
 
 }