diff --git a/dnsapi/dns_freedns.sh b/dnsapi/dns_freedns.sh
index 8a48cf77..ee013662 100755
--- a/dnsapi/dns_freedns.sh
+++ b/dnsapi/dns_freedns.sh
@@ -305,7 +305,7 @@ _freedns_domain_id() {
domain_id="$(echo "$htmlpage" | tr -d "[:space:]" | sed 's/
/@
/g' | tr '@' '\n' \
| grep "$search_domain | \|$search_domain(.*) | " \
- | grep -o "edit\.php?edit_domain_id=[0-9a-zA-Z]*" \
+ | sed -n 's/.*\(edit\.php?edit_domain_id=[0-9a-zA-Z]*\).*/\1/p' \
| cut -d = -f 2)"
# The above beauty extracts domain ID from the html page...
# strip out all blank space and new lines. Then insert newlines
@@ -352,7 +352,7 @@ _freedns_data_id() {
data_id="$(echo "$htmlpage" | tr -d "[:space:]" | sed 's/
/@
/g' | tr '@' '\n' \
| grep "$record_type | " \
| grep "$search_domain" \
- | grep -o "edit\.php?data_id=[0-9a-zA-Z]*" \
+ | sed -n 's/.*\(edit\.php?data_id=[0-9a-zA-Z]*\).*/\1/p' \
| cut -d = -f 2)"
# The above beauty extracts data ID from the html page...
# strip out all blank space and new lines. Then insert newlines