Finitely-generated group such that all (non-trivial) normal subgroups have finite index implies all (non-trivial) subgroups have finite index? 
Let $G$ be a finitely generated group such that every non-trivial normal subgroup has finite index. Does it follow that every non-trivial subgroup of $G$ has finite index?

This question arose as a side novelty from another problem I was working on. I think it's interesting in its own right, but I cannot for the life of me prove it or find a counter-example. This would be cut-and-dry if I knew that every non-trivial subgroup contained a non-trivial normal subgroup, but I don't see how to get that. As far as I can tell, I don't have a guarantee the normal core isn't trivial.
Any help is appreciated.
 A: Counterexample: Let $G$ be the infinite dihedral group, i.e.
$$
  G = \langle a,x : x^2=e, xax=a^{-1} \rangle.
$$
Note $\langle a\rangle \cong \mathbb{Z}$ is a normal subgroup of index $2$.
Let $N$ be a nontrivial normal subgroup of $G$. If $a^k\in N$ for any $k\neq 0$, then $N$ contains a subgroup of $\langle a \rangle$ of finite index, hence $N$ must have finite index in $G$.
Now suppose $xa^k \in N$ for some $k$ (note $k$ may now be $0$).  Then as $N$ is normal, $N$ must contain
$$
  a(xa^k)a^{-1} = xa^{k-2}.
$$
Then $N$ must contain
$$
  (xa^k)(xa^{k-2}) = a^{-2},
$$
and hence $N$ has finite index by the argument above. But using the relation $xax=a^{-1}$ (via $xa=a^{-1}x$), every nontrivial element of $G$ can be written as $a^k$ for $k\neq 0$ or $xa^k$ for any $k$.
So every nontrivial normal subgroup of $G$ has finite index. But the subgroup $\langle x \rangle \cong \mathbb{Z}/2$ does not have finite index.
A: As mentioned, groups for which every nontrivial normal subgroup has finite index are very common (if infinite, they're known as "just-infinite" and include simple groups and many more).
On the other hand, groups with all non-trivial subgroups of finite index are very rare: either $G$ is finite, or is isomorphic to $\mathbf{Z}$.
Indeed, suppose that such a group $G$ is infinite. Let $C$ be a nontrivial cyclic subgroup. The assumption implies that $C$ has finite index, hence is infinite. Thus $G$ has a finite index subgroup isomorphic to $\mathbf{Z}$; but the argument also shows that $G$ is torsion-free. Now it is known that a torsion-free group with an infinite cyclic subgroup of finite index is always infinite cyclic (general fact about 2-ended groups).
A: After some researching, I found this counterexample, but the details went over my head.
Consider the Thompson group $T$. It satisfy the hypothesis: in particular, it is simple, so satisfy the requirement (almost) vacuously. Then, $F\leq T$ where $F$ is another Thompson group. Now we have $F/F^{\prime}=\mathbb{Z}\times\mathbb{Z}$, so $F^{\prime}$ is a subgroup of $F$ without finite index. Hence $T$ have subgroup that is not finite index.
A: Another example is $G=PSL(n,Z)$, $n\ge 3$. The reason is the Margulis normal subgroups theorem. Then every nontrivial normal subgroup of $G$ has finite index, but $G$ has plenty of infinite index subgroups (say, solvable subgroups as well as free subgroups). 
