diff --git a/reco/L1/vectors/L1vec.h b/reco/L1/vectors/L1vec.h
index 5c04fc2a4ffb0c69dd1faf9083496e35e28fcb35..901ab2f7fa3ac4f86346bebd928622095e6af2ca 100644
--- a/reco/L1/vectors/L1vec.h
+++ b/reco/L1/vectors/L1vec.h
@@ -6,5 +6,6 @@
 #define L1vec_H
 
 #include "vectors/L1vecVc.h"
+//#include "vectors/L1vecPseudo.h"
 
 #endif
diff --git a/reco/L1/vectors/std_alloc.h b/reco/L1/vectors/std_alloc.h
index fdd3503379b89c765738f3fe5035656407519b5c..d744dd1f1d8df4fb77c23dcd77ec4069f31cd375 100644
--- a/reco/L1/vectors/std_alloc.h
+++ b/reco/L1/vectors/std_alloc.h
@@ -6,12 +6,10 @@
 #define STD_ALLOC_H
 // ---------------------- Allocator for using STL ------------------------
 
+#include <Vc/Vc>
 #include <limits>
 #include <vector>
 
-#include "xmmintrin.h"
-
-
 namespace nsL1
 {
 
@@ -113,10 +111,10 @@ namespace nsL1
 
     void* operator new(size_t size, void* ptr) { return ::operator new(size, ptr); }
     void* operator new[](size_t size, void* ptr) { return ::operator new(size, ptr); }
-    void* operator new(size_t size) { return _mm_malloc(size, 16); }
-    void* operator new[](size_t size) { return _mm_malloc(size, 16); }
-    void operator delete(void* ptr, size_t) { _mm_free(ptr); }
-    void operator delete[](void* ptr, size_t) { _mm_free(ptr); }
+    void* operator new(size_t size) { return Vc::malloc<T, Vc::AlignOnCacheline>(size / sizeof(T) + 1); }
+    void* operator new[](size_t size) { return Vc::malloc<T, Vc::AlignOnCacheline>(size / sizeof(T) + 1); }
+    void operator delete(void* ptr, size_t) { Vc::free(ptr); }
+    void operator delete[](void* ptr, size_t) { Vc::free(ptr); }
   };  // SimdAlloc
 
   // return that all specializations of this allocator are interchangeable