diff --git a/data/hiprv2speck b/data/hiprv2speck
index a2c9ccddc3700fb366053a03ce8d84041731e21b..ee9714d035a5927e0eff5ec989dfd84033da7497 100755
--- a/data/hiprv2speck
+++ b/data/hiprv2speck
@@ -30,11 +30,23 @@ print "datavar 8 speed\n";
 print "datavar 9 txno\n";
 print "# Space velocities in pc/Myr\n";
 
-while($ARGV[0] =~ /^-[mMyr]/) {
-  shift, $faintmv = shift if $ARGV[0] =~ /^-m/;
-  shift, $faintMv = shift if $ARGV[0] =~ /^-M/;
-  shift, $yalecat = shift if $ARGV[0] =~ /^-y/;
-  shift, $rvelcat = shift if $ARGV[0] =~ /^-r/;
+sub Usage {
+    print STDERR "Usage: $0 [-a] [-m maglim] [-M absmaglim] [-y yale.star] [-r RVelcat]  [hip_main.dat] > stars.speck
+Reads Hipparcos ASCII catalog (hip_main.dat, ADC catalog I/239)
+and General Catalog of Mean Radial Velocities (ADC cat III/3213).
+Writes partiview \".speck\" file.
+";
+    exit(1);
+}
+  
+while($ARGV[0] =~ /^-[amMyr]/) {
+  $_ = shift;
+  $anyway = 1, next if /^-a/;
+  $faintmv = shift, next if /^-m/;
+  $faintMv = shift, next if /^-M/;
+  $yalecat = shift, next if /^-y/;
+  $rvelcat = shift, next if /^-r/;
+  &Usage;
 }
 
 %greek = split(' ', <<EOF);
@@ -190,7 +202,7 @@ while(<>) {
            $rv*$R[1] + $svd*$vd[1] + $sva*$va[1],
            $rv*$R[2] + $svd*$vd[2] + $sva*$va[2] );
   } else {
-    next;
+    next unless $anyway;
     @V = (0,0,0);
   }