diff --git a/changes/bug13221 b/changes/bug13221
new file mode 100644
index 0000000000000000000000000000000000000000..13935a19210686e7b68563d6973025603379e4a3
--- /dev/null
+++ b/changes/bug13221
@@ -0,0 +1,5 @@
+  o Minor bugfixes (logging):
+    - Correct a misleading error message when IPv4Only or IPv6Only
+      is used but the resolved address can not be interpreted as an
+      address of the specified IP version.  Fixes bug 13221; bugfix
+      on 0.2.3.9-alpha.  Patch from Kris Katterjohn.
diff --git a/src/app/config/config.c b/src/app/config/config.c
index 7734c19a04931224c3091ce10974f8a5aa0a22d4..8e0bfbe797f2a8d96c1512f0cbbddd27a8332e70 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -7038,13 +7038,13 @@ parse_port_config(smartlist_t *out,
                  portname, escaped(ports->value));
         goto err;
       }
-      if (bind_ipv4_only && tor_addr_family(&addr) == AF_INET6) {
-        log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv6",
+      if (bind_ipv4_only && tor_addr_family(&addr) != AF_INET) {
+        log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv4",
                  portname);
         goto err;
       }
-      if (bind_ipv6_only && tor_addr_family(&addr) == AF_INET) {
-        log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv4",
+      if (bind_ipv6_only && tor_addr_family(&addr) != AF_INET6) {
+        log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv6",
                  portname);
         goto err;
       }