diff --git a/MagickCore/log.c b/MagickCore/log.c
index ea98f95..0a7d16e 100644
--- a/MagickCore/log.c
+++ b/MagickCore/log.c
@@ -1387,7 +1387,7 @@
                   xml=FileToString(path,~0,exception);
                   if (xml != (char *) NULL)
                     {
-                      status|=LoadLogList(xml,path,depth+1,exception);
+                      status&=LoadLogList(xml,path,depth+1,exception);
                       xml=DestroyString(xml);
                     }
                 }
@@ -1569,7 +1569,7 @@
   option=(const StringInfo *) GetNextValueInLinkedList(options);
   while (option != (const StringInfo *) NULL)
   {
-    status|=LoadLogList((const char *) GetStringInfoDatum(option),
+    status&=LoadLogList((const char *) GetStringInfoDatum(option),
       GetStringInfoPath(option),0,exception);
     option=(const StringInfo *) GetNextValueInLinkedList(options);
   }
@@ -1602,7 +1602,7 @@
     log_info->format=ConstantString(p->format);
     log_info->exempt=MagickTrue;
     log_info->signature=MagickSignature;
-    status|=AppendValueToLinkedList(log_list,log_info);
+    status&=AppendValueToLinkedList(log_list,log_info);
     if (status == MagickFalse)
       (void) ThrowMagickException(exception,GetMagickModule(),
         ResourceLimitError,"MemoryAllocationFailed","`%s'",log_info->name);