diff --git a/Rules/Languages/de/ClearSpeak_Rules.yaml b/Rules/Languages/de/ClearSpeak_Rules.yaml
index d2551ffef..01f8c9eba 100644
--- a/Rules/Languages/de/ClearSpeak_Rules.yaml
+++ b/Rules/Languages/de/ClearSpeak_Rules.yaml
@@ -326,13 +326,7 @@
replace:
- x: "*[1]"
- T: "hoch"
- - test:
- if: "*[2][.>0]"
- then: [x: "ToOrdinal(*[2])"]
- else: [x: "*[2]"]
- - test:
- if: "$ClearSpeak_Exponents != 'Ordinal'"
- then: [T: "hoch"]
+ - x: "*[2]"
- name: simple-negative-integer
tag: power
diff --git a/Rules/Languages/de/SimpleSpeak_Rules.yaml b/Rules/Languages/de/SimpleSpeak_Rules.yaml
index e04749887..d23a47d7c 100644
--- a/Rules/Languages/de/SimpleSpeak_Rules.yaml
+++ b/Rules/Languages/de/SimpleSpeak_Rules.yaml
@@ -208,11 +208,8 @@
match: "*[2][self::m:mn][not(contains(., '.'))]"
replace:
- x: "*[1]"
- - T: "zu dem" # phrase(15 raised 'to the' second power equals 225)
- - test:
- if: "*[2][.>0]"
- then: [x: "ToOrdinal(*[2])"]
- else: [x: "*[2]"]
+ - T: "hoch" # phrase(15 raised 'to the' fourth power equals 50625)
+ - x: "*[2]"
- name: simple-negative-integer
tag: power
match:
diff --git a/tests/Languages/de/shared.rs b/tests/Languages/de/shared.rs
index 34518d9e0..53d1468db 100644
--- a/tests/Languages/de/shared.rs
+++ b/tests/Languages/de/shared.rs
@@ -3,6 +3,19 @@
use crate::common::*;
use anyhow::Result;
+#[test]
+fn ordinary_integer_powers() -> Result<()> {
+ // Ordinary integer exponents use the idiomatic German "hoch" construction.
+ let fourth_power = "";
+ test("de", "ClearSpeak", fourth_power, "x hoch 4")?;
+ test("de", "SimpleSpeak", fourth_power, "x hoch 4")?;
+
+ let zeroth_power = "";
+ test("de", "ClearSpeak", zeroth_power, "x hoch 0")?;
+ test("de", "SimpleSpeak", zeroth_power, "x hoch 0")?;
+ Ok(())
+}
+
#[test]
fn modified_vars() -> Result<()> {
let expr = "