diff --git a/main.cpp b/main.cpp
index b61d742ec993146b57e7ee397fd0b051ac63141c..06769e1319f3c6c4d47cdd6259102a28f8489613 100644
--- a/main.cpp
+++ b/main.cpp
@@ -2,7 +2,7 @@
 #include <osl/osl.h>
 
 void
-perforate(osl_relation_p rel) {
+perforate(osl_relation_p rel, int i) {
     int r = rel->nb_rows;
     int c = rel->nb_columns-2;
 
@@ -12,7 +12,7 @@ perforate(osl_relation_p rel) {
 
     auto row = rel->m[r];
     osl_int_set_si(rel->precision, &row[c], 2);
-    osl_int_set_si(rel->precision, &row[1], -1);
+    osl_int_set_si(rel->precision, &row[1+i], -1);
 
     osl_relation_dump(stdout, rel);
 }