diff --git a/SConstruct b/SConstruct
index 2fedae36fdba9ffc1a555d016506b22e89fd5de0..f507316a6e78afdeeebfa2908a63872f02501205 100644
--- a/SConstruct
+++ b/SConstruct
@@ -8,7 +8,7 @@ env=Environment()
 
 # default build options
 env.Replace(CFLAGS=" -fPIC ")
-env.Replace(CXXFLAGS=" -std=c++0x -fPIC ")
+env.Replace(CXXFLAGS=" -std=c++11 -fPIC ")
 env.Replace(LINKFLAGS=" -fPIC ")
 
 # parse arguments
diff --git a/src/elfwrite.cpp b/src/elfwrite.cpp
index 945ab3cb84a8284a070ada10d579129c4b81b42f..cbdf7fa6eda5c04ff18c63b8f40f6920ded5b4be 100644
--- a/src/elfwrite.cpp
+++ b/src/elfwrite.cpp
@@ -602,9 +602,10 @@ bool ElfWriterImpl<T_Elf_Ehdr,T_Elf_Phdr,T_Elf_Addr,T_Elf_Shdr>::CreateNewPhdrs_
 	{
 		if(phdr.p_type==PT_LOAD)
 		{
-			auto do_relro=[this,phdr,&relro_phdrs](const virtual_offset_t start, const virtual_offset_t end)
+			//auto do_relro=[&this,phdr,&relro_phdrs](const virtual_offset_t start, const virtual_offset_t end)
+			auto do_relro=[&](virtual_offset_t start, virtual_offset_t end)
 			{
-				if(!pagemap[start].is_relro)
+				if(! (pagemap.at(start)).is_relro)
 					return;
 
 				cout<<"Creating relro for "<<hex<<start<<"-"<<end<<endl;
@@ -625,11 +626,11 @@ bool ElfWriterImpl<T_Elf_Ehdr,T_Elf_Phdr,T_Elf_Addr,T_Elf_Shdr>::CreateNewPhdrs_
 			virtual_offset_t prev_i=phdr.p_vaddr, i=0;
 			for(i=phdr.p_vaddr; i<phdr.p_vaddr+phdr.p_memsz;i+=PAGE_SIZE)
 			{
-				if(prev_relro != pagemap[i].is_relro)
+				if(prev_relro != pagemap.at(i).is_relro)
 				{
 					do_relro(prev_i, i-1);
 					prev_i=i;
-					prev_relro=pagemap[i].is_relro;
+					prev_relro=pagemap.at(i).is_relro;
 					
 				}
 			}