diff --git a/w2v-server.pl b/w2v-server.pl
index a71ee6e..85a7e25 100755
--- a/w2v-server.pl
+++ b/w2v-server.pl
@@ -23,6 +23,7 @@
 my %marked;
 my $training_args="";
 my $mergedEnd=0;
+my %cache;
 
 getopts('d:Gil:p:m:n:M:');
 
@@ -87,15 +88,21 @@
 		$c->inactivity_timeout(300);
 		$word =~ s/\s+/ /g;
     for my $w (split(' *\| *', $word)) {
-			$c->app->log->info('Looking for neighbours of '.$w);
-      if($opt_i) {
-        $res = get_neighbours(encode("iso-8859-1", $w), $no_nbs, $sort, $searchBaseVocabFirst);
+      if ($cache{$w}) {
+        $c->app->log->info("Getting $w results from cache");
+        $res = $cache{$w}
       } else {
-        $res = get_neighbours($w, $no_nbs, $sort, $searchBaseVocabFirst);
+        $c->app->log->info('Looking for neighbours of '.$w);
+        if($opt_i) {
+          $res = get_neighbours(encode("iso-8859-1", $w), $no_nbs, $sort, $searchBaseVocabFirst);
+        } else {
+          $res = get_neighbours($w, $no_nbs, $sort, $searchBaseVocabFirst);
+        }
+        $cache{$w} = $res;
       }
       push(@lists, $res->{paradigmatic});
-		}
-	}
+    }
+  }
 	$word =~ s/ *\| */ | /g;
   if($json) {
     return $c->render(json => {word => $word, list => \@lists, collocators=>$res->{syntagmatic}});
