diff --git a/zipr/include/ehwrite.h b/zipr/include/ehwrite.h
index 30a28ebcaed893ec977a175d34f46eebc1d00d47..57a84a774d6717f43ddf686b00b2c69f680489ea 100644
--- a/zipr/include/ehwrite.h
+++ b/zipr/include/ehwrite.h
@@ -143,7 +143,7 @@ namespace EhWriter
 	class PEEhWriter_t : public EhWriter_t
 	{
 		private:
-			using SehVector_t = vector<unique_ptr<PE_unwind_info_t> > ;
+			using SehVector_t = vector<shared_ptr<PE_unwind_info_t> > ;
 
 			SehVector_t BuildSehVector();
 			void LayoutSehVector (const SehVector_t& seh_vector);
diff --git a/zipr/src/ehwrite.cpp b/zipr/src/ehwrite.cpp
index 8600c78b3ec58cb320b21027420466a1247d26ee..4ab686bb83a4472f1879d8e7f95d95df0b0595ed 100644
--- a/zipr/src/ehwrite.cpp
+++ b/zipr/src/ehwrite.cpp
@@ -82,7 +82,7 @@ typename PEEhWriter_t<ptrsize>::SehVector_t  PEEhWriter_t<ptrsize>::BuildSehVect
 	// build the unwind directory and unwind info
 	auto insns_with_frame      = 0u;
 	auto current_unwind_info   = unique_ptr<PE_unwind_info_t>();
-	auto all_unwind_infos      = vector<unique_ptr<PE_unwind_info_t> >();
+	auto all_unwind_infos      = PEEhWriter_t<ptrsize>::SehVector_t();
 
 
 	// generate an unwind info struct for each chunk of code in the output program.