diff --git a/hs20/client/osu_client.c b/hs20/client/osu_client.c
index b48903d..1f594ce 100644
--- a/hs20/client/osu_client.c
+++ b/hs20/client/osu_client.c
@@ -612,8 +612,8 @@
 		}
 	}
 
-	android_update_permission("SP", S_IRWXU | S_IRGRP | S_IXGRP);
-	android_update_permission(fname, S_IRWXU | S_IRGRP | S_IXGRP);
+	android_update_permission("SP", S_IRWXU | S_IRWXG);
+	android_update_permission(fname, S_IRWXU | S_IRWXG);
 
 	snprintf(fname, fname_len, "SP/%s/pps.xml", fqdn);
 
diff --git a/hs20/server/www/terms.php b/hs20/server/www/terms.php
index e269b3c..acba23e 100644
--- a/hs20/server/www/terms.php
+++ b/hs20/server/www/terms.php
@@ -2,6 +2,13 @@
 
 require('config.php');
 
+function print_header()
+{
+   echo "<html>\n";
+   echo "<head><title>HS 2.0 Terms and Conditions</title></head>\n";
+   echo "<body>\n";
+}
+
 $db = new PDO($osu_db);
 if (!$db) {
    die($sqliteerror);
@@ -21,27 +28,21 @@
    die("No pending session for the specified MAC address");
 }
 $identity = $row[0];
-?>
-<html>
-<head><title>HS 2.0 Terms and Conditions</title></head>
-<body>
-
-<?php
 
 if (!$accept) {
+   print_header();
+
    echo "<p>Accept the following terms and conditions by clicking here: <a href=\"terms.php?addr=$addr&accept=yes\">Accept</a></p>\n<hr>\n";
    readfile($t_c_file);
 } else {
    $res = $db->prepare("UPDATE users SET t_c_timestamp=? WHERE identity=?");
    if (!$res->execute(array($t_c_timestamp, $identity))) {
-      echo "<p>Failed to update user account.</p>";
-   } else {
-      $res = $db->prepare("DELETE FROM pending_tc WHERE mac_addr=?");
-      $res->execute(array($addr));
-
-      echo "<p>Terms and conditions were accepted.</p>";
+      die("Failed to update user account.");
    }
 
+   $res = $db->prepare("DELETE FROM pending_tc WHERE mac_addr=?");
+   $res->execute(array($addr));
+
    $fp = fsockopen($hostapd_ctrl);
    if (!$fp) {
       die("Could not connect to hostapd(AS)");
@@ -69,8 +70,13 @@
       sleep(1);
    }
    if ($ack) {
+      header('X-WFA-Hotspot20-Filtering: removed');
+      print_header();
+      echo "<p>Terms and conditions were accepted.</p>\n";
+
       echo "<P>Filtering disabled.</P>\n";
    } else {
+      print_header();
       echo "<P>Failed to disable filtering.</P>\n";
    }
 }
