diff --git a/src/core/lib/iomgr/error.c b/src/core/lib/iomgr/error.c
index 6c4d0157c20bd3391630ff97d3e99762ba39441f..cbaf9a42141837c49fbd6de5fcf689b404d61b01 100644
--- a/src/core/lib/iomgr/error.c
+++ b/src/core/lib/iomgr/error.c
@@ -263,7 +263,7 @@ static grpc_error *copy_error_and_unref(grpc_error *in) {
     else
       out = GRPC_ERROR_CREATE("unknown");
   } else if (gpr_ref_is_unique(&in->refs)) {
-    return in;
+    out = in;
   } else {
     out = gpr_malloc(sizeof(*out));
 #ifdef GRPC_ERROR_REFCOUNT_DEBUG