diff --git a/build.rs b/build.rs
index c43cca36d2586106cbc8763fd9fd7d4638349464..f355447a672c6407fbcd6abbf687d799f073755d 100644
--- a/build.rs
+++ b/build.rs
@@ -16,6 +16,9 @@ fn main() {
     }
 
     if env::var("LIBC_CI").is_ok() {
+        if let Some(11) = which_freebsd() {
+            println!("cargo:rustc-cfg=freebsd11");
+        }
         if let Some(12) = which_freebsd() {
             println!("cargo:rustc-cfg=freebsd12");
         }
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 8dffc6819b03d4ac0b8c6571f1908a77b5ce096e..02e769ea80181cedcfec113be915ed7b07872cec 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -1450,15 +1450,12 @@ fn test_freebsd(target: &str) {
 
     let freebsd_ver = which_freebsd();
 
-    if let Some(12) = freebsd_ver {
-        // If the host is FreeBSD 12, run FreeBSD 12 tests
-        cfg.cfg("freebsd12", None);
-    }
-
-    if let Some(13) = freebsd_ver {
-        // If the host is FreeBSD 12, run FreeBSD 12 tests
-        cfg.cfg("freebsd13", None);
-    }
+    match freebsd_ver {
+        Some(11) => cfg.cfg("freebsd11", None),
+        Some(12) => cfg.cfg("freebsd12", None),
+        Some(13) => cfg.cfg("freebsd13", None),
+        _ => &mut cfg
+    };
 
     // Required for `getline`:
     cfg.define("_WITH_GETLINE", None);