diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
index e64f1db..293a869 100644
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -1235,11 +1235,11 @@
         /* unlock name mutex */
 
         while (next) {
-             ctx = next;
-             ctx->state = code;
-             next = ctx->next;
+            ctx = next;
+            ctx->state = code;
+            next = ctx->next;
 
-             ctx->handler(ctx);
+            ctx->handler(ctx);
         }
 
         return;
@@ -1425,14 +1425,14 @@
         /* unlock name mutex */
 
         while (next) {
-             ctx = next;
-             ctx->state = NGX_OK;
-             ctx->naddrs = naddrs;
-             ctx->addrs = (naddrs == 1) ? &ctx->addr : addrs;
-             ctx->addr = addr;
-             next = ctx->next;
+            ctx = next;
+            ctx->state = NGX_OK;
+            ctx->naddrs = naddrs;
+            ctx->addrs = (naddrs == 1) ? &ctx->addr : addrs;
+            ctx->addr = addr;
+            next = ctx->next;
 
-             ctx->handler(ctx);
+            ctx->handler(ctx);
         }
 
         if (naddrs > 1) {
@@ -1587,11 +1587,11 @@
         /* unlock addr mutex */
 
         while (next) {
-             ctx = next;
-             ctx->state = code;
-             next = ctx->next;
+            ctx = next;
+            ctx->state = code;
+            next = ctx->next;
 
-             ctx->handler(ctx);
+            ctx->handler(ctx);
         }
 
         return;
@@ -1673,12 +1673,12 @@
     /* unlock addr mutex */
 
     while (next) {
-         ctx = next;
-         ctx->state = NGX_OK;
-         ctx->name = name;
-         next = ctx->next;
+        ctx = next;
+        ctx->state = NGX_OK;
+        ctx->name = name;
+        next = ctx->next;
 
-         ctx->handler(ctx);
+        ctx->handler(ctx);
     }
 
     ngx_resolver_free(r, name.data);
