{
                case JOIN_INNER:
                        fpinfo->remote_conds = list_concat(fpinfo->remote_conds,
-                                                                                          fpinfo_i->remote_conds);
+                                                                                 list_copy(fpinfo_i->remote_conds));
                        fpinfo->remote_conds = list_concat(fpinfo->remote_conds,
-                                                                                          fpinfo_o->remote_conds);
+                                                                                 list_copy(fpinfo_o->remote_conds));
                        break;
 
                case JOIN_LEFT:
                        fpinfo->joinclauses = list_concat(fpinfo->joinclauses,
-                                                                                         fpinfo_i->remote_conds);
+                                                                                 list_copy(fpinfo_i->remote_conds));
                        fpinfo->remote_conds = list_concat(fpinfo->remote_conds,
-                                                                                          fpinfo_o->remote_conds);
+                                                                                 list_copy(fpinfo_o->remote_conds));
                        break;
 
                case JOIN_RIGHT:
                        fpinfo->joinclauses = list_concat(fpinfo->joinclauses,
-                                                                                         fpinfo_o->remote_conds);
+                                                                                 list_copy(fpinfo_o->remote_conds));
                        fpinfo->remote_conds = list_concat(fpinfo->remote_conds,
-                                                                                          fpinfo_i->remote_conds);
+                                                                                 list_copy(fpinfo_i->remote_conds));
                        break;
 
                case JOIN_FULL:
                        fpinfo->joinclauses = list_concat(fpinfo->joinclauses,
-                                                                                         fpinfo_i->remote_conds);
+                                                                                 list_copy(fpinfo_i->remote_conds));
                        fpinfo->joinclauses = list_concat(fpinfo->joinclauses,
-                                                                                         fpinfo_o->remote_conds);
+                                                                                 list_copy(fpinfo_o->remote_conds));
                        break;
 
                default: