diff --git a/kokkos-testing/fd_catalog/fd_kokkos.cpp b/kokkos-testing/fd_catalog/fd_kokkos.cpp
index 98ddd90a0074d903a6531f27246bbc1aea353a0b..338d388e1426a625164c9be4be96c29ce21b673d 100644
--- a/kokkos-testing/fd_catalog/fd_kokkos.cpp
+++ b/kokkos-testing/fd_catalog/fd_kokkos.cpp
@@ -6,7 +6,10 @@
 #include <chrono>
 #include <type_traits>
 
+#ifdef HAVE_SILO
 #include <silo.h>
+#endif
+
 #include <Kokkos_Core.hpp>
 
 #include <pmmintrin.h>
@@ -17,6 +20,7 @@
 using namespace Kokkos;
 using namespace std::chrono;
 
+#ifdef HAVE_SILO
 template<typename T>
 int
 visit_dump(const Kokkos::View<T**>& kv, const std::string& fn)
@@ -73,6 +77,7 @@ visit_dump(const Kokkos::View<T**>& kv, const std::string& fn)
     DBClose(db);
     return 0;
 }
+#endif /* HAVE_SILO */
 
 template<typename T>
 struct wave_equation_context_kokkos
@@ -217,14 +222,16 @@ double solve_kokkos(wave_equation_context_kokkos<T>& wec)
 
         std::chrono::duration<double, std::milli> ms = t_end - t_begin;
         iter_time += ms.count();
-#if 0
+#ifdef HAVE_SILO
+#ifdef SAVE_TIMESTEPS
         if ( (ts % 100) == 0 )
         {
             std::stringstream ss;
             ss << "wave_kokkos_" << ts << ".silo";
             visit_dump(wec.g_curr, ss.str());
         }
-#endif       
+#endif /* SAVE_TIMESTEPS */
+#endif /* HAVE_SILO */
     }
 
     double avg_iter_time = iter_time/wec.maxiter;