diff --git a/src/p2p/p2p_go_neg.c b/src/p2p/p2p_go_neg.c
index 5faab07..50d6e36 100644
--- a/src/p2p/p2p_go_neg.c
+++ b/src/p2p/p2p_go_neg.c
@@ -439,13 +439,7 @@
 
 	/* Prefer a 5 GHz channel */
 	for (i = 0; i < intersection->reg_classes; i++) {
-#ifdef ANDROID_P2P
-		struct p2p_reg_class prc;
-		struct p2p_reg_class *c = &prc;
-		p2p_copy_reg_class(c, &intersection->reg_class[i]);
-#else
 		struct p2p_reg_class *c = &intersection->reg_class[i];
-#endif
 		if ((c->reg_class == 115 || c->reg_class == 124) &&
 		    c->channels) {
 			unsigned int r;
diff --git a/src/p2p/p2p_i.h b/src/p2p/p2p_i.h
index 276dfd0..e5d52aa 100644
--- a/src/p2p/p2p_i.h
+++ b/src/p2p/p2p_i.h
@@ -589,9 +589,6 @@
 			  u8 channel);
 void p2p_channels_dump(struct p2p_data *p2p, const char *title,
 		       const struct p2p_channels *chan);
-#ifdef ANDROID_P2P
-size_t p2p_copy_reg_class(struct p2p_reg_class *dc, struct p2p_reg_class *sc);
-#endif
 
 /* p2p_parse.c */
 int p2p_parse_p2p_ie(const struct wpabuf *buf, struct p2p_message *msg);
diff --git a/src/p2p/p2p_utils.c b/src/p2p/p2p_utils.c
index 06ebc60..c3b4ce8 100644
--- a/src/p2p/p2p_utils.c
+++ b/src/p2p/p2p_utils.c
@@ -347,39 +347,10 @@
 }
 
 
-#ifdef ANDROID_P2P
-static int p2p_block_op_freq(unsigned int freq)
-{
-	return (freq >= 5170 && freq < 5745);
-}
-
-
-size_t p2p_copy_reg_class(struct p2p_reg_class *dc, struct p2p_reg_class *sc)
-{
-	unsigned int i;
-
-	dc->reg_class = sc->reg_class;
-	dc->channels = 0;
-	for (i=0; i < sc->channels; i++) {
-		if (!p2p_block_op_freq(p2p_channel_to_freq(sc->reg_class,
-							   sc->channel[i]))) {
-			dc->channel[dc->channels] = sc->channel[i];
-			dc->channels++;
-		}
-	}
-	return dc->channels;
-}
-#endif
-
-
 int p2p_supported_freq(struct p2p_data *p2p, unsigned int freq)
 {
 	u8 op_reg_class, op_channel;
 
-#ifdef ANDROID_P2P
-	if (p2p_block_op_freq(freq))
-		return 0;
-#endif
 	if (p2p_freq_to_channel(freq, &op_reg_class, &op_channel) < 0)
 		return 0;
 	return p2p_channels_includes(&p2p->cfg->channels, op_reg_class,
