diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81ac4cf4240bca2af20051397fbfcdc7555ac3e4..7919a7b2707bcd6ce171d92b9f1a6f66566919ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,10 @@ cmake_minimum_required(VERSION 3.13)
 
 project("dune-xt" CXX)
 
+if("${TRAVIS}" EQUAL "1")
+  add_compile_options(-Werror -Wno-error=unknown-pragmas -Wno-error=pedantic)
+endif()
+
 # local environment
 set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../local/bin:$ENV{PATH}")
 set(ENV{LD_LIBRARY_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../local/lib:$ENV{LD_LIBRARY_PATH}")
diff --git a/cmake/modules/DuneXTTesting.cmake b/cmake/modules/DuneXTTesting.cmake
index cd26fcbbcc532eae690a2ccb3e93e344cdffb6ec..76792c04ee04242182b0d25f863bf0a3b1f70b15 100644
--- a/cmake/modules/DuneXTTesting.cmake
+++ b/cmake/modules/DuneXTTesting.cmake
@@ -184,11 +184,11 @@ macro(ADD_SUBDIR_TESTS subdir)
   add_custom_target(${subdir}_test_templates SOURCES ${test_templates})
 
   # this excludes meta-ini variation test cases because there binary name != test name
-  foreach(test ${${subdir}_xt_test_binaries})
-    if(TARGET test)
+  foreach(test ${${subdir}_dxt_test_binaries})
+    if(TEST test)
       set_tests_properties(${test} PROPERTIES TIMEOUT ${DXT_TEST_TIMEOUT})
       set_tests_properties(${test} PROPERTIES LABELS ${subdir})
-    endif(TARGET test)
+    endif(TEST test)
   endforeach()
 
   add_custom_target(${subdir}_test_binaries DEPENDS ${${subdir}_dxt_test_binaries})
diff --git a/dune/xt/grid/view/coupling.hh b/dune/xt/grid/view/coupling.hh
index 83960d13c11c57cf9e88cf9317f34a23775610d4..9cad8d2d8f00ff83c57cebd85059498ce6ef16a7 100644
--- a/dune/xt/grid/view/coupling.hh
+++ b/dune/xt/grid/view/coupling.hh
@@ -260,7 +260,7 @@ public:
   {
     // initialize variables
     inside_elements_ = std::make_shared<std::vector<LocalElementType>>();
-    inside_elements_ids_ = std::make_shared<std::vector<int>>();
+    inside_elements_ids_ = std::make_shared<std::vector<unsigned int>>();
     coupling_intersections_ = std::make_shared<
         std::vector<std::set<CorrectedCouplingIntersectionType, CompareType<CorrectedCouplingIntersectionType>>>>();
     local_to_inside_indices_ = std::make_shared<std::vector<std::pair<size_t, size_t>>>();
@@ -386,7 +386,7 @@ private:
   const LocalGridProviderType& local_inside_grid_;
   size_t coupling_size_;
   std::shared_ptr<std::vector<LocalElementType>> inside_elements_;
-  std::shared_ptr<std::vector<int>> inside_elements_ids_;
+  std::shared_ptr<std::vector<unsigned int>> inside_elements_ids_;
   std::shared_ptr<
       std::vector<std::set<CorrectedCouplingIntersectionType, CompareType<CorrectedCouplingIntersectionType>>>>
       coupling_intersections_;
diff --git a/dune/xt/test/grid/dd_glued.hh b/dune/xt/test/grid/dd_glued.hh
index a4404b6b5f89512c05e989962053d1b00bf26096..3f09a76142b0ed3f19910a24fdeb46e48d3ba797 100644
--- a/dune/xt/test/grid/dd_glued.hh
+++ b/dune/xt/test/grid/dd_glued.hh
@@ -183,7 +183,7 @@ struct GluedDdGridTest : public ::testing::Test
     ASSERT_NE(macro_grid_, nullptr) << "This should not happen!";
     ASSERT_NE(dd_grid_, nullptr) << "This should not happen!";
 
-    for (int ss = 0; ss < dd_grid_->num_subdomains(); ss++) {
+    for (size_t ss = 0; ss < dd_grid_->num_subdomains(); ss++) {
       auto local_grid = dd_grid_->local_grid(ss);
       EXPECT_EQ(macro_grid_->dimDomain, local_grid.dimDomain);
     }