diff --git a/src/proxy.c b/src/proxy.c
index 2da14767848cfc4b242e4d6a45810e07410e1e52..7ffc97d07d4381d1611bdea20ecbca295d658713 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -309,8 +309,8 @@ void proxy_parts_exch2(struct proxy *p) {
  * @param N The number of parts.
  */
 
-void proxy_parts_load(struct proxy *p, struct part *parts, struct xpart *xparts,
-                      int N) {
+void proxy_parts_load(struct proxy *p, const struct part *parts,
+                      const struct xpart *xparts, int N) {
 
   /* Is there enough space in the buffer? */
   if (p->nr_parts_out + N > p->size_parts_out) {
@@ -348,7 +348,7 @@ void proxy_parts_load(struct proxy *p, struct part *parts, struct xpart *xparts,
  * @param N The number of parts.
  */
 
-void proxy_gparts_load(struct proxy *p, struct gpart *gparts, int N) {
+void proxy_gparts_load(struct proxy *p, const struct gpart *gparts, int N) {
 
   /* Is there enough space in the buffer? */
   if (p->nr_gparts_out + N > p->size_gparts_out) {
diff --git a/src/proxy.h b/src/proxy.h
index 126be0b8136a0b62041a4fe47dac9f10aedcd512..5a747187e05a78a109ce4523ebb3c9d5fe2ad717 100644
--- a/src/proxy.h
+++ b/src/proxy.h
@@ -76,9 +76,9 @@ struct proxy {
 
 /* Function prototypes. */
 void proxy_init(struct proxy *p, int mynodeID, int nodeID);
-void proxy_parts_load(struct proxy *p, struct part *parts, struct xpart *xparts,
-                      int N);
-void proxy_gparts_load(struct proxy *p, struct gpart *gparts, int N);
+void proxy_parts_load(struct proxy *p, const struct part *parts,
+                      const struct xpart *xparts, int N);
+void proxy_gparts_load(struct proxy *p, const struct gpart *gparts, int N);
 void proxy_parts_exch1(struct proxy *p);
 void proxy_parts_exch2(struct proxy *p);
 void proxy_addcell_in(struct proxy *p, struct cell *c);