diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp
index 3441c95..7941005 100644
--- a/layers/swapchain.cpp
+++ b/layers/swapchain.cpp
@@ -372,7 +372,7 @@
                                               "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -411,7 +411,7 @@
                                               "VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -484,7 +484,7 @@
                                               "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -557,7 +557,7 @@
                                               "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -629,7 +629,7 @@
                                               "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -703,7 +703,7 @@
                                               "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -1133,7 +1133,7 @@
                                               "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR");
         }
         if (pCreateInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pCreateInfo");
         }
@@ -1709,7 +1709,7 @@
                                               "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR");
         }
         if (pPresentInfo->pNext != NULL) {
-            skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+            skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
                                              device,
                                              "pPresentInfo");
         }
diff --git a/layers/swapchain.h b/layers/swapchain.h
index d4b0f23..7076697 100644
--- a/layers/swapchain.h
+++ b/layers/swapchain.h
@@ -122,13 +122,6 @@
                 "(expected %s).",                                       \
                 __FUNCTION__, (obj), (val))                             \
     : VK_FALSE
-#define LOG_ERROR_WRONG_NEXT(objType, type, obj)          \
-    (my_data) ?                                                         \
-        log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (objType), \
-                (uint64_t) (obj), 0, SWAPCHAIN_WRONG_NEXT, LAYER_NAME, \
-                "%s() called with non-NULL value for %s->pNext.",       \
-                __FUNCTION__, (obj))                                    \
-    : VK_FALSE
 #define LOG_ERROR_ZERO_VALUE(objType, type, obj)                        \
     (my_data) ?                                                         \
         log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (objType), \
@@ -146,6 +139,13 @@
         log_msg(my_data->report_data, VK_DEBUG_REPORT_PERF_WARN_BIT_EXT, (objType), \
                 (uint64_t) (obj), __LINE__, (enm), LAYER_NAME, (fmt), __VA_ARGS__) \
     : VK_FALSE
+#define LOG_INFO_WRONG_NEXT(objType, type, obj)                         \
+    (my_data) ?                                                         \
+        log_msg(my_data->report_data, VK_DEBUG_REPORT_INFO_BIT_EXT, (objType), \
+                (uint64_t) (obj), 0, SWAPCHAIN_WRONG_NEXT, LAYER_NAME, \
+                "%s() called with non-NULL value for %s->pNext.",       \
+                __FUNCTION__, (obj))                                    \
+    : VK_FALSE
 
 
 // NOTE: The following struct's/typedef's are for keeping track of
