diff --git a/doc-img/shield_map_world.svg b/doc-img/shield_map_world.svg
index 829f19352..961f3a6f4 100644
--- a/doc-img/shield_map_world.svg
+++ b/doc-img/shield_map_world.svg
@@ -145,6 +145,7 @@ See the end of this file for a list of available jurisdictions and their codes.
.be,
.bg,
.by,
+.cy,
.cz,
.dk,
.ee,
diff --git a/icons/shield_hex_vert_green_yellow_2.svg b/icons/shield_hex_vert_green_yellow_2.svg
new file mode 100644
index 000000000..8847044ac
--- /dev/null
+++ b/icons/shield_hex_vert_green_yellow_2.svg
@@ -0,0 +1,39 @@
+
+
diff --git a/icons/shield_hex_vert_green_yellow_3.svg b/icons/shield_hex_vert_green_yellow_3.svg
new file mode 100644
index 000000000..0e86396aa
--- /dev/null
+++ b/icons/shield_hex_vert_green_yellow_3.svg
@@ -0,0 +1,39 @@
+
+
diff --git a/src/js/shield_defs.js b/src/js/shield_defs.js
index 9339c2537..5281559e6 100644
--- a/src/js/shield_defs.js
+++ b/src/js/shield_defs.js
@@ -3249,6 +3249,16 @@ export function loadShields(shieldImages) {
Color.shields.white
);
+ // Cyprus
+ shields["cy:national"] = {
+ ...hexagonVerticalShield,
+ backgroundImage: [
+ shieldImages.shield_hex_vert_green_yellow_2,
+ shieldImages.shield_hex_vert_green_yellow_3,
+ ],
+ textColor: Color.shields.yellow,
+ };
+
// Czechia
shields["CZ:national"] = roundedRectShield(
Color.shields.red,
diff --git a/src/shieldtest.js b/src/shieldtest.js
index f3ed838c4..fb49d9fd1 100644
--- a/src/shieldtest.js
+++ b/src/shieldtest.js
@@ -69,6 +69,7 @@ let networks = [
"ID:national",
"AU:QLD:MR",
+ "cy:national",
"GR:national",
"my:federal",
"TR:motorway",